<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://springrts-wiki.p2004a.com/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Krudat</id>
	<title>Spring - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://springrts-wiki.p2004a.com/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Krudat"/>
	<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/wiki/Special:Contributions/Krudat"/>
	<updated>2026-11-08T22:51:04Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=User:Krudat&amp;diff=20889</id>
		<title>User:Krudat</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=User:Krudat&amp;diff=20889"/>
		<updated>2006-03-29T08:42:50Z</updated>

		<summary type="html">&lt;p&gt;Krudat: /* Zero Damage */  Correct Mantis links.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Hmm, new scripting language, eh? ==&lt;br /&gt;
&lt;br /&gt;
A lot of what&#039;s given here is ... &amp;quot;structurally sensitive&amp;quot;? Specifically, I get the impression Zaphod would like to delay some feature additions until a new scripting language arrives (and [http://taspring.clan-sy.com/phpbb/viewtopic.php?p=65295&amp;amp;highlight=executes#65295 Argh might agree, I think]). More generally, what&#039;s the easy fix or implementation might not be the best structurally (even before the level of finding some weird replacement for COB).&lt;br /&gt;
&lt;br /&gt;
Implementing a change is easy. Doing it &#039;&#039;right&#039;&#039;, particularly in the eyes of the admins, is another matter.&lt;br /&gt;
&lt;br /&gt;
== Meben&#039;s Code Parade ==&lt;br /&gt;
&lt;br /&gt;
You know when they say &amp;quot;Use the Source, Luke&amp;quot;? It&#039;s a suprising amount of&lt;br /&gt;
work - and that&#039;s for someone who can almost read C++. Many times, when&lt;br /&gt;
someone adds a bug in [http://spring.clan-sy.com/mantis Mantis] or posts in&lt;br /&gt;
the forums, I read the code closely and try and find the relevant bits.&lt;br /&gt;
I figured since I write it down, I might as well write it down where I can&lt;br /&gt;
find it again, and where someone else might find it useful.&lt;br /&gt;
&lt;br /&gt;
Rules: don&#039;t touch the lobby client, no snide commentary. Just code&lt;br /&gt;
references.&lt;br /&gt;
&lt;br /&gt;
(WebSVN doesn&#039;t give per-line anchors. So much for code references.)&lt;br /&gt;
&lt;br /&gt;
=== #00048: Ferromancer: Unit Behavior: Construction units on patrol claim resources when not needed. === ([http://taspring.clan-sy.com/mantis/view.php?id=48 Mantis])&lt;br /&gt;
&lt;br /&gt;
Add a check around [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Units/CommandAI/BuilderCAI.cpp?op=blame&amp;amp;rev=963&amp;amp;sc=0  CBuilderCAI]:452.&lt;br /&gt;
&lt;br /&gt;
=== #00050: Ferromancer: Ground construction units attempt to repair air units while in flight === ([http://taspring.clan-sy.com/mantis/view.php?id=50 Mantis])&lt;br /&gt;
&lt;br /&gt;
I &#039;&#039;think&#039;&#039; &amp;lt;code&amp;gt;CMD_PATROL&amp;lt;/code&amp;gt; is a point rather than a path. (And why&lt;br /&gt;
does it push a copy of itself?) (And it&#039;s been that way since ancient SF&lt;br /&gt;
CVS.) (Oh, and deque semantics are a pain - the docs don&#039;t define them very&lt;br /&gt;
well. I &#039;&#039;hope&#039;&#039; &amp;lt;tt&amp;gt;commandQue.push_front(co) means commandQue[0] == co&amp;lt;/tt&amp;gt; ...)&lt;br /&gt;
&amp;lt;nowiki&amp;gt;[TODO Whoever made templated network messages can start on commands now. :P]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I&#039;d still need to figure out how to tell if the current repair job is the&lt;br /&gt;
fault of a patrol command, and how to abort it.&lt;br /&gt;
&lt;br /&gt;
The policy question is how and when the con-bot decides to give up on the&lt;br /&gt;
air unit and do something else. (How far is &#039;too far&#039; from the patrol&lt;br /&gt;
position?)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== #00052: Bug Hunter: Units acknoledge enemy &amp;quot;bugger of&amp;quot; === ([http://taspring.clan-sy.com/mantis/view.php?id=52 Mantis])&lt;br /&gt;
&lt;br /&gt;
Perhaps Bug Hunter picked the phrase &amp;quot;bugger off&amp;quot; because that&#039;s what it&#039;s&lt;br /&gt;
called in code. You can even do it from COB.&lt;br /&gt;
&lt;br /&gt;
If you &#039;&#039;couldn&#039;t&#039;&#039;, I&#039;d just get [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Game/GameHelper.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 helper-&amp;gt;BuggerOff] to check team or ally&lt;br /&gt;
relationships (or whatever it is). But for all I know, units only clear&lt;br /&gt;
factory buildpads because the factory script asks them to.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
ColCheckH and ColCheckV in [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Units/MoveTypes/groundmovetype.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 groundmovetype.cpp] tell fellow ground-pounders to&lt;br /&gt;
get out of the way on close collision. I&#039;d guess this is the code that&lt;br /&gt;
prevents anyone ever making a nice neat line of units. =) Including, in this&lt;br /&gt;
case, the enemy. Unfortunately, the rest of the file, at a glance, looks&lt;br /&gt;
like Spring&#039;s ever-fragile ground pather.&lt;br /&gt;
&lt;br /&gt;
=== #00066: Argh: S3O Explosion Behavior === ([http://taspring.clan-sy.com/mantis/view.php?id=66 Mantis])&lt;br /&gt;
&lt;br /&gt;
It shouldn&#039;t be &#039;&#039;impossible&#039;&#039; to let s3o &#039;&#039;pieces&#039;&#039; explode without&lt;br /&gt;
&amp;lt;tt&amp;gt;SHATTER&amp;lt;/tt&amp;gt;. Making s3os shatterable would take a little longer since we&#039;ve got&lt;br /&gt;
arrays of verticies rather than 3do-style faces.&lt;br /&gt;
&lt;br /&gt;
However, in Feb. 2006, someone said something about writing a model-type abstraction that would include Ogre meshes, whatever those are. Again in March, someone&#039;s tinkering with unit textures.&lt;br /&gt;
&lt;br /&gt;
=== #00068: Argh: Behavior of FALL scripting event === ([http://taspring.clan-sy.com/mantis/view.php?id=68 Mantis])&lt;br /&gt;
&lt;br /&gt;
Unfortunately, I don&#039;t have the source for the AA Vulcan, which features ejecting cases.&lt;br /&gt;
&lt;br /&gt;
There&#039;s an ancient note that all such fragments must &amp;lt;code&amp;gt;FALL&amp;lt;/code&amp;gt; otherwise they&#039;ll&lt;br /&gt;
never go away.&lt;br /&gt;
&lt;br /&gt;
I&#039;d have to fire up OTA to get the correct behaviour.&lt;br /&gt;
&lt;br /&gt;
(PieceProjectiles do exactly 50 damage.)&lt;br /&gt;
&lt;br /&gt;
=== #00105: FizWizz: FPS aiming === ([http://taspring.clan-sy.com/mantis/view.php?id=105 Mantis])&lt;br /&gt;
&lt;br /&gt;
Here&#039;s one for the compiler trivia books. The (original) GetHAndPFromVector (in myMath.h - WebSVN doesn&#039;t like links across file moves) crashed in one quarter (under Linux only!). However, I bet the call to COBFN_AimPrimary in [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Weapons/Weapon.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 CWeapon]::Update was working fine, despite using similar code, and probably wanting the same results.&lt;br /&gt;
&lt;br /&gt;
Commenting out the code to ask the FPU to choke immediately probably made it exhibit something like the current behaviour, I can&#039;t remember.&lt;br /&gt;
&lt;br /&gt;
(Called at the top of Game/Game.cpp::Update.)&lt;br /&gt;
&lt;br /&gt;
GetHAndPFromVector is only used in one place, for the direct-control stuff.&lt;br /&gt;
&lt;br /&gt;
=== #00116: NOiZE: Cloakcosts are doubled === ([http://taspring.clan-sy.com/mantis/view.php?id=116 Mantis])&lt;br /&gt;
&lt;br /&gt;
Metal generation, energy use and idle regeneration are handled in [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Units/Unit.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0  CUnit]::SlowUpdate().&lt;br /&gt;
&lt;br /&gt;
Metal and energy gain and a couple of other per-unit-time values are divided&lt;br /&gt;
in half in there, but the cloak energy cost isn&#039;t.&lt;br /&gt;
&lt;br /&gt;
You can even see the &#039;half-cost&#039; of things when you, say, turn a metalmaker,&lt;br /&gt;
or a cloak, on or off.&lt;br /&gt;
&lt;br /&gt;
=== #00118: Argh: Feature Request: &amp;quot;Free Interceptor&amp;quot; behavior. === ([http://taspring.clan-sy.com/mantis/view.php?id=118 Mantis])&lt;br /&gt;
&lt;br /&gt;
==== How they work now ====&lt;br /&gt;
&lt;br /&gt;
The [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Weapons/Weapon.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 base Weapon inherit] like it&#039;s willing to&lt;br /&gt;
point any weapon at an incoming projectile (&amp;lt;code&amp;gt;::CheckIntercept&amp;lt;/code&amp;gt;, called by&lt;br /&gt;
&amp;lt;code&amp;gt;CWeapon::Update&amp;lt;/code&amp;gt;). There&#039;s even a couple of interceptor-specific checks in&lt;br /&gt;
it. However, &#039;&#039;only&#039;&#039; Starburst-type indirect-fire missiles have the right&lt;br /&gt;
callbacks for being both interceptable and interceptors.&lt;br /&gt;
&lt;br /&gt;
[http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Weapons/StarburstLauncher.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 &amp;lt;code&amp;gt;CStarburstLauncher::Fire&amp;lt;/code&amp;gt;] tells [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Misc/InterceptHandler.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 CInterceptHandler] about the&lt;br /&gt;
new projectile, if it&#039;s &amp;lt;code&amp;gt;weaponDef-&amp;gt;targetable&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Only [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Projectiles/StarburstProjectile.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 CStarburstProjectile] takes an interceptTarget. In its ::Update, it&lt;br /&gt;
checks if the nuke is &#039;close&#039;. If so, it tells first the nuke then itself&lt;br /&gt;
that they&#039;ve hit something, which makes both of them blow up ([http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Game/GameHelper.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0  helper-&amp;gt;Explosion]). &lt;br /&gt;
&lt;br /&gt;
(It looks like the reason why the nuke&#039;s airburst doesn&#039;t do significant damage is because, on Small Divide, they travel higher than aircraft.)&lt;br /&gt;
&lt;br /&gt;
==== Unpinning the behaviour ====&lt;br /&gt;
&lt;br /&gt;
I haven&#039;t tried it, but it would be relatively easy to have an anti-nuke, say, Vulcan. (... It&#039;s the only salvoing unit who&#039;s projectile class I&#039;ve looked up.)&lt;br /&gt;
&lt;br /&gt;
* (Might need to change CWeapon::Update()&#039;s call to CheckIntercept() to wait until the salvo ends, so        the entire salvo points at the nuke. I haven&#039;t tested this.)&lt;br /&gt;
* Add the interceptTarget argument to CCannon and parameter to CExplosiveProjectile. &lt;br /&gt;
* Copy the range-to-nuke check to CExplosiveProjectile::Update() from StarburstProjectile.&lt;br /&gt;
&lt;br /&gt;
This is nice and easy &#039;cause each interceptor round only needs to check one&lt;br /&gt;
projectile (probably every frame). This presumes that more nukes than&lt;br /&gt;
interceptors never happens - if not, then you&#039;ll get to see the volley of&lt;br /&gt;
Vulcan fire take out one nuke, but probably mysteriously fail to destroy the&lt;br /&gt;
other.&lt;br /&gt;
&lt;br /&gt;
If I want to see a hail of laser fire from the Smasher completely defuse a volley from the Raven, I&#039;d have a problem. Either:&lt;br /&gt;
&lt;br /&gt;
* I do it the simple way and have every interceptor check every interceptable. I&#039;d guess it&#039;d be bad for performance. (Mustn&#039;t forget to check the ally-teams of the projectiles. ... Wait, they don&#039;t have any. :S)&lt;br /&gt;
&lt;br /&gt;
* Someone who understands how the QuadField works extends it (re-fac-tor!) to record interceptable projectiles. Sadly, it mentions SQUARE_SIZE, which is my current cue to find some other aspect of Spring to read.&lt;br /&gt;
&lt;br /&gt;
=== #000119: Argh:  Feature Request: &amp;quot;Free Repulsor&amp;quot;. ===&lt;br /&gt;
&lt;br /&gt;
Note: The [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Projectiles/BeamLaserProjectile.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 beam laser projectile] does the drawing; you&#039;ll find the damage (&amp;quot;explosion&amp;quot;!) is done when the weapon &amp;lt;code&amp;gt;::Fire()&amp;lt;/code&amp;gt;s.&lt;br /&gt;
&lt;br /&gt;
If I pin down the math for a ray reflection, it&#039;ll get used two different ways in two places; once in the reflector to give laser bolts a new heading, and again in BeamLaser to bounce off repulsors (with an extra projectile per reflection) &#039;till something gets hit.&lt;br /&gt;
&lt;br /&gt;
=== #000123: Decimator: Laser weapons will not even attempt to shoot through trees === ([http://taspring.clan-sy.com/mantis/view.php?id=123 Mantis])&lt;br /&gt;
&lt;br /&gt;
... and have done so since SF CVS day dot ([http://cvs.sourceforge.net/viewcvs.py/springrts/taspring/rts/BeamLaser.cpp?rev=1.1&amp;amp;view=markup BeamLaser.cpp]).&lt;br /&gt;
&lt;br /&gt;
One, two, skip a few...&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
| Unit        &lt;br /&gt;
| Target DT?&lt;br /&gt;
| Trees? &lt;br /&gt;
| Weapon&#039;s class              &lt;br /&gt;
| Call responsible&lt;br /&gt;
|- &lt;br /&gt;
| Annihilator &lt;br /&gt;
|    &lt;br /&gt;
|      &lt;br /&gt;
| CBeamLaser         &lt;br /&gt;
| helper-&amp;gt;LineFeatureCol&lt;br /&gt;
|- &lt;br /&gt;
| Ambusher    &lt;br /&gt;
| X  &lt;br /&gt;
| X    &lt;br /&gt;
| CCannon            &lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| Rocko       &lt;br /&gt;
| X  &lt;br /&gt;
| X    &lt;br /&gt;
| CMissileLauncher   &lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| Raven       &lt;br /&gt;
| X  &lt;br /&gt;
| X    &lt;br /&gt;
|                    &lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| HLT         &lt;br /&gt;
|    &lt;br /&gt;
|      &lt;br /&gt;
| CLaserCannon       &lt;br /&gt;
| helper-&amp;gt;LineFeatureCol&lt;br /&gt;
|- &lt;br /&gt;
| Defender    &lt;br /&gt;
| X  &lt;br /&gt;
| X    &lt;br /&gt;
| CMissileLauncher   &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| Merl        &lt;br /&gt;
| X  &lt;br /&gt;
| X    &lt;br /&gt;
| CStarburstLauncher &lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| Zeus        &lt;br /&gt;
|    &lt;br /&gt;
|      &lt;br /&gt;
| CLightningCannon   &lt;br /&gt;
| helper-&amp;gt;LineFeatureCol&lt;br /&gt;
|- &lt;br /&gt;
| Maverick    &lt;br /&gt;
| ?  &lt;br /&gt;
| X    &lt;br /&gt;
|                    &lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
I think there&#039;s an MTR somewhere here, but I&#039;m not entirely sure what it is.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Unit sounds and position ===&lt;br /&gt;
&lt;br /&gt;
Something only occasionally noted is that individual unit-selected sounds play where the unit is, so if you&#039;re zoomed out or off-screen, you can&#039;t hear them. &lt;br /&gt;
&lt;br /&gt;
* [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=1248 Sound]&lt;br /&gt;
* [http://taspring.clan-sy.com/phpbb/viewtopic.php?p=15984#15984 Making sounds audible again]&lt;br /&gt;
* [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2239 Soundvolume is too low when zoomed out]&lt;br /&gt;
* [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=4242&amp;amp;highlight=sound volume vs distance] &lt;br /&gt;
&lt;br /&gt;
([[Monthly_Topic_Rotation|MTR]]! &amp;lt;nowiki&amp;gt;*ahem*&amp;lt;/nowiki&amp;gt; Maybe not.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; And some random sound-related posts &#039;&#039;&#039;&lt;br /&gt;
* [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2522 Using play-sound in Spring], and how StartMoving() is called &amp;quot;exactly a bazillion times per second in first person view&amp;quot;, like AimPrimary() apparently is. I&#039;m not sure if I could try to fix it, and I &#039;&#039;am&#039;&#039; sure I&#039;d add another strand of spaghetti to Spring on my first few attempts.&lt;br /&gt;
* [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2667 please make the berthasound more quiet!]. For the record, the DGun&#039;s sound has a specific volume nerf ([http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Units/UnitLoader.cpp?op=blame&amp;amp;rev=0&amp;amp;sc=0 CUnitLoader]::LoadWeapon, near the bottom).  It also suggests modder-settable sound-specific volume nerfs, or something.&lt;br /&gt;
* [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=3728 Sound effects still played if you have no LoS]&lt;br /&gt;
&lt;br /&gt;
Hmm. I could almost sketch out a design for a new &amp;quot;[http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/System/Sound.h?op=file&amp;amp;rev=0&amp;amp;sc=0 ISound]&amp;quot; with these requirements... &lt;br /&gt;
&lt;br /&gt;
* SetSoundVolume(id, volume) so users can quiet down their artillery&lt;br /&gt;
* PlayUnitNotificationSound(id, unit, volume) so we can toggle between sound at unit and sound at player&lt;br /&gt;
* Some sort of IVolumeCalculator or something, so you can have&lt;br /&gt;
** the cameras setting different sound models: a near-2D sound system, immune to zooming out, for overhead view and an at-camera all-3D sound system for FPS-type views, see the above threads. &lt;br /&gt;
** Not to mention the different functions and fudge factors for &#039;&#039;how&#039;&#039; the volumes fall off with location.&lt;br /&gt;
* Perhaps add a sound priority (int) to all the PlaySounds so the LLTs don&#039;t replace the Vulcans&#039; sounds, or possibly vice versa. Currently, the OpenAL system has a ring-buffer of 16 simultaneous sounds, maybe. I haven&#039;t looked at that too closely...&lt;br /&gt;
* A mute(bool) method.&lt;br /&gt;
&lt;br /&gt;
=== Zero Damage === (Mantis: [http://spring.clan-sy.com/mantis/view.php?id=140 1], [http://spring.clan-sy.com/mantis/view.php?id=147 2])&lt;br /&gt;
&lt;br /&gt;
(Damage and health are floats! For the sake of players, please assume Spring will only ever show whole-number amounts... In any case, this means you only need ridiculous amounts of smallarms fire to  significantly damage a tank.)&lt;br /&gt;
&lt;br /&gt;
Issues (so far...):&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Explosion graphics&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
: [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Rendering/ExplosionGraphics.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 CStdExplosionGraphics]&lt;br /&gt;
&lt;br /&gt;
:inverse square root, for smoke particle velocity&lt;br /&gt;
&lt;br /&gt;
:default damage: &amp;lt;code&amp;gt;damages[0]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
:Should 0 &#039;&#039;default&#039;&#039; damage produce a Peewee-sized smokepuff, or nothing at all?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unsupervised target choice&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;[http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Game/GameHelper.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 CGameHelper]::GenerateTargets&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:the damage that would be to the particular candidate unit, for ... rating targets, somehow.&lt;br /&gt;
&lt;br /&gt;
:Applicable damage type: &amp;lt;code&amp;gt;damages[(*potential_target)-&amp;gt;armorType]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
:The function is only called by [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Weapons/Weapon.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 CWeapon]::SlowUpdate(), probably to look for a nearby enemy to attack. The target rating isn&#039;t used.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Knockback and deformation&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;GameHelper-&amp;gt;Explosion&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:impulse and crater-making&lt;br /&gt;
&lt;br /&gt;
:default damage: &amp;lt;code&amp;gt;damages[0]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
:Currently: &#039;&#039;Default&#039;&#039; damage is used to calculate knockback, and impulsefactor is a multiplier; a weapon that does no damage can never knock things around, and can never produce craters.&lt;/div&gt;</summary>
		<author><name>Krudat</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=User:Krudat&amp;diff=20888</id>
		<title>User:Krudat</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=User:Krudat&amp;diff=20888"/>
		<updated>2006-03-29T08:40:11Z</updated>

		<summary type="html">&lt;p&gt;Krudat: /* Zero Damage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Hmm, new scripting language, eh? ==&lt;br /&gt;
&lt;br /&gt;
A lot of what&#039;s given here is ... &amp;quot;structurally sensitive&amp;quot;? Specifically, I get the impression Zaphod would like to delay some feature additions until a new scripting language arrives (and [http://taspring.clan-sy.com/phpbb/viewtopic.php?p=65295&amp;amp;highlight=executes#65295 Argh might agree, I think]). More generally, what&#039;s the easy fix or implementation might not be the best structurally (even before the level of finding some weird replacement for COB).&lt;br /&gt;
&lt;br /&gt;
Implementing a change is easy. Doing it &#039;&#039;right&#039;&#039;, particularly in the eyes of the admins, is another matter.&lt;br /&gt;
&lt;br /&gt;
== Meben&#039;s Code Parade ==&lt;br /&gt;
&lt;br /&gt;
You know when they say &amp;quot;Use the Source, Luke&amp;quot;? It&#039;s a suprising amount of&lt;br /&gt;
work - and that&#039;s for someone who can almost read C++. Many times, when&lt;br /&gt;
someone adds a bug in [http://spring.clan-sy.com/mantis Mantis] or posts in&lt;br /&gt;
the forums, I read the code closely and try and find the relevant bits.&lt;br /&gt;
I figured since I write it down, I might as well write it down where I can&lt;br /&gt;
find it again, and where someone else might find it useful.&lt;br /&gt;
&lt;br /&gt;
Rules: don&#039;t touch the lobby client, no snide commentary. Just code&lt;br /&gt;
references.&lt;br /&gt;
&lt;br /&gt;
(WebSVN doesn&#039;t give per-line anchors. So much for code references.)&lt;br /&gt;
&lt;br /&gt;
=== #00048: Ferromancer: Unit Behavior: Construction units on patrol claim resources when not needed. === ([http://taspring.clan-sy.com/mantis/view.php?id=48 Mantis])&lt;br /&gt;
&lt;br /&gt;
Add a check around [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Units/CommandAI/BuilderCAI.cpp?op=blame&amp;amp;rev=963&amp;amp;sc=0  CBuilderCAI]:452.&lt;br /&gt;
&lt;br /&gt;
=== #00050: Ferromancer: Ground construction units attempt to repair air units while in flight === ([http://taspring.clan-sy.com/mantis/view.php?id=50 Mantis])&lt;br /&gt;
&lt;br /&gt;
I &#039;&#039;think&#039;&#039; &amp;lt;code&amp;gt;CMD_PATROL&amp;lt;/code&amp;gt; is a point rather than a path. (And why&lt;br /&gt;
does it push a copy of itself?) (And it&#039;s been that way since ancient SF&lt;br /&gt;
CVS.) (Oh, and deque semantics are a pain - the docs don&#039;t define them very&lt;br /&gt;
well. I &#039;&#039;hope&#039;&#039; &amp;lt;tt&amp;gt;commandQue.push_front(co) means commandQue[0] == co&amp;lt;/tt&amp;gt; ...)&lt;br /&gt;
&amp;lt;nowiki&amp;gt;[TODO Whoever made templated network messages can start on commands now. :P]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I&#039;d still need to figure out how to tell if the current repair job is the&lt;br /&gt;
fault of a patrol command, and how to abort it.&lt;br /&gt;
&lt;br /&gt;
The policy question is how and when the con-bot decides to give up on the&lt;br /&gt;
air unit and do something else. (How far is &#039;too far&#039; from the patrol&lt;br /&gt;
position?)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== #00052: Bug Hunter: Units acknoledge enemy &amp;quot;bugger of&amp;quot; === ([http://taspring.clan-sy.com/mantis/view.php?id=52 Mantis])&lt;br /&gt;
&lt;br /&gt;
Perhaps Bug Hunter picked the phrase &amp;quot;bugger off&amp;quot; because that&#039;s what it&#039;s&lt;br /&gt;
called in code. You can even do it from COB.&lt;br /&gt;
&lt;br /&gt;
If you &#039;&#039;couldn&#039;t&#039;&#039;, I&#039;d just get [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Game/GameHelper.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 helper-&amp;gt;BuggerOff] to check team or ally&lt;br /&gt;
relationships (or whatever it is). But for all I know, units only clear&lt;br /&gt;
factory buildpads because the factory script asks them to.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
ColCheckH and ColCheckV in [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Units/MoveTypes/groundmovetype.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 groundmovetype.cpp] tell fellow ground-pounders to&lt;br /&gt;
get out of the way on close collision. I&#039;d guess this is the code that&lt;br /&gt;
prevents anyone ever making a nice neat line of units. =) Including, in this&lt;br /&gt;
case, the enemy. Unfortunately, the rest of the file, at a glance, looks&lt;br /&gt;
like Spring&#039;s ever-fragile ground pather.&lt;br /&gt;
&lt;br /&gt;
=== #00066: Argh: S3O Explosion Behavior === ([http://taspring.clan-sy.com/mantis/view.php?id=66 Mantis])&lt;br /&gt;
&lt;br /&gt;
It shouldn&#039;t be &#039;&#039;impossible&#039;&#039; to let s3o &#039;&#039;pieces&#039;&#039; explode without&lt;br /&gt;
&amp;lt;tt&amp;gt;SHATTER&amp;lt;/tt&amp;gt;. Making s3os shatterable would take a little longer since we&#039;ve got&lt;br /&gt;
arrays of verticies rather than 3do-style faces.&lt;br /&gt;
&lt;br /&gt;
However, in Feb. 2006, someone said something about writing a model-type abstraction that would include Ogre meshes, whatever those are. Again in March, someone&#039;s tinkering with unit textures.&lt;br /&gt;
&lt;br /&gt;
=== #00068: Argh: Behavior of FALL scripting event === ([http://taspring.clan-sy.com/mantis/view.php?id=68 Mantis])&lt;br /&gt;
&lt;br /&gt;
Unfortunately, I don&#039;t have the source for the AA Vulcan, which features ejecting cases.&lt;br /&gt;
&lt;br /&gt;
There&#039;s an ancient note that all such fragments must &amp;lt;code&amp;gt;FALL&amp;lt;/code&amp;gt; otherwise they&#039;ll&lt;br /&gt;
never go away.&lt;br /&gt;
&lt;br /&gt;
I&#039;d have to fire up OTA to get the correct behaviour.&lt;br /&gt;
&lt;br /&gt;
(PieceProjectiles do exactly 50 damage.)&lt;br /&gt;
&lt;br /&gt;
=== #00105: FizWizz: FPS aiming === ([http://taspring.clan-sy.com/mantis/view.php?id=105 Mantis])&lt;br /&gt;
&lt;br /&gt;
Here&#039;s one for the compiler trivia books. The (original) GetHAndPFromVector (in myMath.h - WebSVN doesn&#039;t like links across file moves) crashed in one quarter (under Linux only!). However, I bet the call to COBFN_AimPrimary in [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Weapons/Weapon.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 CWeapon]::Update was working fine, despite using similar code, and probably wanting the same results.&lt;br /&gt;
&lt;br /&gt;
Commenting out the code to ask the FPU to choke immediately probably made it exhibit something like the current behaviour, I can&#039;t remember.&lt;br /&gt;
&lt;br /&gt;
(Called at the top of Game/Game.cpp::Update.)&lt;br /&gt;
&lt;br /&gt;
GetHAndPFromVector is only used in one place, for the direct-control stuff.&lt;br /&gt;
&lt;br /&gt;
=== #00116: NOiZE: Cloakcosts are doubled === ([http://taspring.clan-sy.com/mantis/view.php?id=116 Mantis])&lt;br /&gt;
&lt;br /&gt;
Metal generation, energy use and idle regeneration are handled in [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Units/Unit.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0  CUnit]::SlowUpdate().&lt;br /&gt;
&lt;br /&gt;
Metal and energy gain and a couple of other per-unit-time values are divided&lt;br /&gt;
in half in there, but the cloak energy cost isn&#039;t.&lt;br /&gt;
&lt;br /&gt;
You can even see the &#039;half-cost&#039; of things when you, say, turn a metalmaker,&lt;br /&gt;
or a cloak, on or off.&lt;br /&gt;
&lt;br /&gt;
=== #00118: Argh: Feature Request: &amp;quot;Free Interceptor&amp;quot; behavior. === ([http://taspring.clan-sy.com/mantis/view.php?id=118 Mantis])&lt;br /&gt;
&lt;br /&gt;
==== How they work now ====&lt;br /&gt;
&lt;br /&gt;
The [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Weapons/Weapon.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 base Weapon inherit] like it&#039;s willing to&lt;br /&gt;
point any weapon at an incoming projectile (&amp;lt;code&amp;gt;::CheckIntercept&amp;lt;/code&amp;gt;, called by&lt;br /&gt;
&amp;lt;code&amp;gt;CWeapon::Update&amp;lt;/code&amp;gt;). There&#039;s even a couple of interceptor-specific checks in&lt;br /&gt;
it. However, &#039;&#039;only&#039;&#039; Starburst-type indirect-fire missiles have the right&lt;br /&gt;
callbacks for being both interceptable and interceptors.&lt;br /&gt;
&lt;br /&gt;
[http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Weapons/StarburstLauncher.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 &amp;lt;code&amp;gt;CStarburstLauncher::Fire&amp;lt;/code&amp;gt;] tells [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Misc/InterceptHandler.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 CInterceptHandler] about the&lt;br /&gt;
new projectile, if it&#039;s &amp;lt;code&amp;gt;weaponDef-&amp;gt;targetable&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Only [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Projectiles/StarburstProjectile.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 CStarburstProjectile] takes an interceptTarget. In its ::Update, it&lt;br /&gt;
checks if the nuke is &#039;close&#039;. If so, it tells first the nuke then itself&lt;br /&gt;
that they&#039;ve hit something, which makes both of them blow up ([http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Game/GameHelper.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0  helper-&amp;gt;Explosion]). &lt;br /&gt;
&lt;br /&gt;
(It looks like the reason why the nuke&#039;s airburst doesn&#039;t do significant damage is because, on Small Divide, they travel higher than aircraft.)&lt;br /&gt;
&lt;br /&gt;
==== Unpinning the behaviour ====&lt;br /&gt;
&lt;br /&gt;
I haven&#039;t tried it, but it would be relatively easy to have an anti-nuke, say, Vulcan. (... It&#039;s the only salvoing unit who&#039;s projectile class I&#039;ve looked up.)&lt;br /&gt;
&lt;br /&gt;
* (Might need to change CWeapon::Update()&#039;s call to CheckIntercept() to wait until the salvo ends, so        the entire salvo points at the nuke. I haven&#039;t tested this.)&lt;br /&gt;
* Add the interceptTarget argument to CCannon and parameter to CExplosiveProjectile. &lt;br /&gt;
* Copy the range-to-nuke check to CExplosiveProjectile::Update() from StarburstProjectile.&lt;br /&gt;
&lt;br /&gt;
This is nice and easy &#039;cause each interceptor round only needs to check one&lt;br /&gt;
projectile (probably every frame). This presumes that more nukes than&lt;br /&gt;
interceptors never happens - if not, then you&#039;ll get to see the volley of&lt;br /&gt;
Vulcan fire take out one nuke, but probably mysteriously fail to destroy the&lt;br /&gt;
other.&lt;br /&gt;
&lt;br /&gt;
If I want to see a hail of laser fire from the Smasher completely defuse a volley from the Raven, I&#039;d have a problem. Either:&lt;br /&gt;
&lt;br /&gt;
* I do it the simple way and have every interceptor check every interceptable. I&#039;d guess it&#039;d be bad for performance. (Mustn&#039;t forget to check the ally-teams of the projectiles. ... Wait, they don&#039;t have any. :S)&lt;br /&gt;
&lt;br /&gt;
* Someone who understands how the QuadField works extends it (re-fac-tor!) to record interceptable projectiles. Sadly, it mentions SQUARE_SIZE, which is my current cue to find some other aspect of Spring to read.&lt;br /&gt;
&lt;br /&gt;
=== #000119: Argh:  Feature Request: &amp;quot;Free Repulsor&amp;quot;. ===&lt;br /&gt;
&lt;br /&gt;
Note: The [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Projectiles/BeamLaserProjectile.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 beam laser projectile] does the drawing; you&#039;ll find the damage (&amp;quot;explosion&amp;quot;!) is done when the weapon &amp;lt;code&amp;gt;::Fire()&amp;lt;/code&amp;gt;s.&lt;br /&gt;
&lt;br /&gt;
If I pin down the math for a ray reflection, it&#039;ll get used two different ways in two places; once in the reflector to give laser bolts a new heading, and again in BeamLaser to bounce off repulsors (with an extra projectile per reflection) &#039;till something gets hit.&lt;br /&gt;
&lt;br /&gt;
=== #000123: Decimator: Laser weapons will not even attempt to shoot through trees === ([http://taspring.clan-sy.com/mantis/view.php?id=123 Mantis])&lt;br /&gt;
&lt;br /&gt;
... and have done so since SF CVS day dot ([http://cvs.sourceforge.net/viewcvs.py/springrts/taspring/rts/BeamLaser.cpp?rev=1.1&amp;amp;view=markup BeamLaser.cpp]).&lt;br /&gt;
&lt;br /&gt;
One, two, skip a few...&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
| Unit        &lt;br /&gt;
| Target DT?&lt;br /&gt;
| Trees? &lt;br /&gt;
| Weapon&#039;s class              &lt;br /&gt;
| Call responsible&lt;br /&gt;
|- &lt;br /&gt;
| Annihilator &lt;br /&gt;
|    &lt;br /&gt;
|      &lt;br /&gt;
| CBeamLaser         &lt;br /&gt;
| helper-&amp;gt;LineFeatureCol&lt;br /&gt;
|- &lt;br /&gt;
| Ambusher    &lt;br /&gt;
| X  &lt;br /&gt;
| X    &lt;br /&gt;
| CCannon            &lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| Rocko       &lt;br /&gt;
| X  &lt;br /&gt;
| X    &lt;br /&gt;
| CMissileLauncher   &lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| Raven       &lt;br /&gt;
| X  &lt;br /&gt;
| X    &lt;br /&gt;
|                    &lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| HLT         &lt;br /&gt;
|    &lt;br /&gt;
|      &lt;br /&gt;
| CLaserCannon       &lt;br /&gt;
| helper-&amp;gt;LineFeatureCol&lt;br /&gt;
|- &lt;br /&gt;
| Defender    &lt;br /&gt;
| X  &lt;br /&gt;
| X    &lt;br /&gt;
| CMissileLauncher   &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| Merl        &lt;br /&gt;
| X  &lt;br /&gt;
| X    &lt;br /&gt;
| CStarburstLauncher &lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| Zeus        &lt;br /&gt;
|    &lt;br /&gt;
|      &lt;br /&gt;
| CLightningCannon   &lt;br /&gt;
| helper-&amp;gt;LineFeatureCol&lt;br /&gt;
|- &lt;br /&gt;
| Maverick    &lt;br /&gt;
| ?  &lt;br /&gt;
| X    &lt;br /&gt;
|                    &lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
I think there&#039;s an MTR somewhere here, but I&#039;m not entirely sure what it is.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Unit sounds and position ===&lt;br /&gt;
&lt;br /&gt;
Something only occasionally noted is that individual unit-selected sounds play where the unit is, so if you&#039;re zoomed out or off-screen, you can&#039;t hear them. &lt;br /&gt;
&lt;br /&gt;
* [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=1248 Sound]&lt;br /&gt;
* [http://taspring.clan-sy.com/phpbb/viewtopic.php?p=15984#15984 Making sounds audible again]&lt;br /&gt;
* [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2239 Soundvolume is too low when zoomed out]&lt;br /&gt;
* [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=4242&amp;amp;highlight=sound volume vs distance] &lt;br /&gt;
&lt;br /&gt;
([[Monthly_Topic_Rotation|MTR]]! &amp;lt;nowiki&amp;gt;*ahem*&amp;lt;/nowiki&amp;gt; Maybe not.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; And some random sound-related posts &#039;&#039;&#039;&lt;br /&gt;
* [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2522 Using play-sound in Spring], and how StartMoving() is called &amp;quot;exactly a bazillion times per second in first person view&amp;quot;, like AimPrimary() apparently is. I&#039;m not sure if I could try to fix it, and I &#039;&#039;am&#039;&#039; sure I&#039;d add another strand of spaghetti to Spring on my first few attempts.&lt;br /&gt;
* [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2667 please make the berthasound more quiet!]. For the record, the DGun&#039;s sound has a specific volume nerf ([http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Units/UnitLoader.cpp?op=blame&amp;amp;rev=0&amp;amp;sc=0 CUnitLoader]::LoadWeapon, near the bottom).  It also suggests modder-settable sound-specific volume nerfs, or something.&lt;br /&gt;
* [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=3728 Sound effects still played if you have no LoS]&lt;br /&gt;
&lt;br /&gt;
Hmm. I could almost sketch out a design for a new &amp;quot;[http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/System/Sound.h?op=file&amp;amp;rev=0&amp;amp;sc=0 ISound]&amp;quot; with these requirements... &lt;br /&gt;
&lt;br /&gt;
* SetSoundVolume(id, volume) so users can quiet down their artillery&lt;br /&gt;
* PlayUnitNotificationSound(id, unit, volume) so we can toggle between sound at unit and sound at player&lt;br /&gt;
* Some sort of IVolumeCalculator or something, so you can have&lt;br /&gt;
** the cameras setting different sound models: a near-2D sound system, immune to zooming out, for overhead view and an at-camera all-3D sound system for FPS-type views, see the above threads. &lt;br /&gt;
** Not to mention the different functions and fudge factors for &#039;&#039;how&#039;&#039; the volumes fall off with location.&lt;br /&gt;
* Perhaps add a sound priority (int) to all the PlaySounds so the LLTs don&#039;t replace the Vulcans&#039; sounds, or possibly vice versa. Currently, the OpenAL system has a ring-buffer of 16 simultaneous sounds, maybe. I haven&#039;t looked at that too closely...&lt;br /&gt;
* A mute(bool) method.&lt;br /&gt;
&lt;br /&gt;
=== Zero Damage === (Mantis: [http://spring.clan-sy.com/mantis/view.php?id=#140 1], [http://spring.clan-sy.com/mantis/view.php?id=#147 2])&lt;br /&gt;
&lt;br /&gt;
(Damage and health are floats! For the sake of players, please assume Spring will only ever show whole-number amounts... In any case, this means you only need ridiculous amounts of smallarms fire to  significantly damage a tank.)&lt;br /&gt;
&lt;br /&gt;
Issues (so far...):&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Explosion graphics&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
: [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Rendering/ExplosionGraphics.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 CStdExplosionGraphics]&lt;br /&gt;
&lt;br /&gt;
:inverse square root, for smoke particle velocity&lt;br /&gt;
&lt;br /&gt;
:default damage: &amp;lt;code&amp;gt;damages[0]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
:Should 0 &#039;&#039;default&#039;&#039; damage produce a Peewee-sized smokepuff, or nothing at all?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unsupervised target choice&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;[http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Game/GameHelper.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 CGameHelper]::GenerateTargets&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:the damage that would be to the particular candidate unit, for ... rating targets, somehow.&lt;br /&gt;
&lt;br /&gt;
:Applicable damage type: &amp;lt;code&amp;gt;damages[(*potential_target)-&amp;gt;armorType]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
:The function is only called by [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Weapons/Weapon.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 CWeapon]::SlowUpdate(), probably to look for a nearby enemy to attack. The target rating isn&#039;t used.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Knockback and deformation&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;GameHelper-&amp;gt;Explosion&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:impulse and crater-making&lt;br /&gt;
&lt;br /&gt;
:default damage: &amp;lt;code&amp;gt;damages[0]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
:Currently: &#039;&#039;Default&#039;&#039; damage is used to calculate knockback, and impulsefactor is a multiplier; a weapon that does no damage can never knock things around, and can never produce craters.&lt;/div&gt;</summary>
		<author><name>Krudat</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=User:Krudat&amp;diff=20887</id>
		<title>User:Krudat</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=User:Krudat&amp;diff=20887"/>
		<updated>2006-03-25T03:28:22Z</updated>

		<summary type="html">&lt;p&gt;Krudat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Hmm, new scripting language, eh? ==&lt;br /&gt;
&lt;br /&gt;
A lot of what&#039;s given here is ... &amp;quot;structurally sensitive&amp;quot;? Specifically, I get the impression Zaphod would like to delay some feature additions until a new scripting language arrives (and [http://taspring.clan-sy.com/phpbb/viewtopic.php?p=65295&amp;amp;highlight=executes#65295 Argh might agree, I think]). More generally, what&#039;s the easy fix or implementation might not be the best structurally (even before the level of finding some weird replacement for COB).&lt;br /&gt;
&lt;br /&gt;
Implementing a change is easy. Doing it &#039;&#039;right&#039;&#039;, particularly in the eyes of the admins, is another matter.&lt;br /&gt;
&lt;br /&gt;
== Meben&#039;s Code Parade ==&lt;br /&gt;
&lt;br /&gt;
You know when they say &amp;quot;Use the Source, Luke&amp;quot;? It&#039;s a suprising amount of&lt;br /&gt;
work - and that&#039;s for someone who can almost read C++. Many times, when&lt;br /&gt;
someone adds a bug in [http://spring.clan-sy.com/mantis Mantis] or posts in&lt;br /&gt;
the forums, I read the code closely and try and find the relevant bits.&lt;br /&gt;
I figured since I write it down, I might as well write it down where I can&lt;br /&gt;
find it again, and where someone else might find it useful.&lt;br /&gt;
&lt;br /&gt;
Rules: don&#039;t touch the lobby client, no snide commentary. Just code&lt;br /&gt;
references.&lt;br /&gt;
&lt;br /&gt;
(WebSVN doesn&#039;t give per-line anchors. So much for code references.)&lt;br /&gt;
&lt;br /&gt;
=== #00048: Ferromancer: Unit Behavior: Construction units on patrol claim resources when not needed. === ([http://taspring.clan-sy.com/mantis/view.php?id=48 Mantis])&lt;br /&gt;
&lt;br /&gt;
Add a check around [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Units/CommandAI/BuilderCAI.cpp?op=blame&amp;amp;rev=963&amp;amp;sc=0  CBuilderCAI]:452.&lt;br /&gt;
&lt;br /&gt;
=== #00050: Ferromancer: Ground construction units attempt to repair air units while in flight === ([http://taspring.clan-sy.com/mantis/view.php?id=50 Mantis])&lt;br /&gt;
&lt;br /&gt;
I &#039;&#039;think&#039;&#039; &amp;lt;code&amp;gt;CMD_PATROL&amp;lt;/code&amp;gt; is a point rather than a path. (And why&lt;br /&gt;
does it push a copy of itself?) (And it&#039;s been that way since ancient SF&lt;br /&gt;
CVS.) (Oh, and deque semantics are a pain - the docs don&#039;t define them very&lt;br /&gt;
well. I &#039;&#039;hope&#039;&#039; &amp;lt;tt&amp;gt;commandQue.push_front(co) means commandQue[0] == co&amp;lt;/tt&amp;gt; ...)&lt;br /&gt;
&amp;lt;nowiki&amp;gt;[TODO Whoever made templated network messages can start on commands now. :P]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I&#039;d still need to figure out how to tell if the current repair job is the&lt;br /&gt;
fault of a patrol command, and how to abort it.&lt;br /&gt;
&lt;br /&gt;
The policy question is how and when the con-bot decides to give up on the&lt;br /&gt;
air unit and do something else. (How far is &#039;too far&#039; from the patrol&lt;br /&gt;
position?)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== #00052: Bug Hunter: Units acknoledge enemy &amp;quot;bugger of&amp;quot; === ([http://taspring.clan-sy.com/mantis/view.php?id=52 Mantis])&lt;br /&gt;
&lt;br /&gt;
Perhaps Bug Hunter picked the phrase &amp;quot;bugger off&amp;quot; because that&#039;s what it&#039;s&lt;br /&gt;
called in code. You can even do it from COB.&lt;br /&gt;
&lt;br /&gt;
If you &#039;&#039;couldn&#039;t&#039;&#039;, I&#039;d just get [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Game/GameHelper.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 helper-&amp;gt;BuggerOff] to check team or ally&lt;br /&gt;
relationships (or whatever it is). But for all I know, units only clear&lt;br /&gt;
factory buildpads because the factory script asks them to.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
ColCheckH and ColCheckV in [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Units/MoveTypes/groundmovetype.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 groundmovetype.cpp] tell fellow ground-pounders to&lt;br /&gt;
get out of the way on close collision. I&#039;d guess this is the code that&lt;br /&gt;
prevents anyone ever making a nice neat line of units. =) Including, in this&lt;br /&gt;
case, the enemy. Unfortunately, the rest of the file, at a glance, looks&lt;br /&gt;
like Spring&#039;s ever-fragile ground pather.&lt;br /&gt;
&lt;br /&gt;
=== #00066: Argh: S3O Explosion Behavior === ([http://taspring.clan-sy.com/mantis/view.php?id=66 Mantis])&lt;br /&gt;
&lt;br /&gt;
It shouldn&#039;t be &#039;&#039;impossible&#039;&#039; to let s3o &#039;&#039;pieces&#039;&#039; explode without&lt;br /&gt;
&amp;lt;tt&amp;gt;SHATTER&amp;lt;/tt&amp;gt;. Making s3os shatterable would take a little longer since we&#039;ve got&lt;br /&gt;
arrays of verticies rather than 3do-style faces.&lt;br /&gt;
&lt;br /&gt;
However, in Feb. 2006, someone said something about writing a model-type abstraction that would include Ogre meshes, whatever those are. Again in March, someone&#039;s tinkering with unit textures.&lt;br /&gt;
&lt;br /&gt;
=== #00068: Argh: Behavior of FALL scripting event === ([http://taspring.clan-sy.com/mantis/view.php?id=68 Mantis])&lt;br /&gt;
&lt;br /&gt;
Unfortunately, I don&#039;t have the source for the AA Vulcan, which features ejecting cases.&lt;br /&gt;
&lt;br /&gt;
There&#039;s an ancient note that all such fragments must &amp;lt;code&amp;gt;FALL&amp;lt;/code&amp;gt; otherwise they&#039;ll&lt;br /&gt;
never go away.&lt;br /&gt;
&lt;br /&gt;
I&#039;d have to fire up OTA to get the correct behaviour.&lt;br /&gt;
&lt;br /&gt;
(PieceProjectiles do exactly 50 damage.)&lt;br /&gt;
&lt;br /&gt;
=== #00105: FizWizz: FPS aiming === ([http://taspring.clan-sy.com/mantis/view.php?id=105 Mantis])&lt;br /&gt;
&lt;br /&gt;
Here&#039;s one for the compiler trivia books. The (original) GetHAndPFromVector (in myMath.h - WebSVN doesn&#039;t like links across file moves) crashed in one quarter (under Linux only!). However, I bet the call to COBFN_AimPrimary in [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Weapons/Weapon.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 CWeapon]::Update was working fine, despite using similar code, and probably wanting the same results.&lt;br /&gt;
&lt;br /&gt;
Commenting out the code to ask the FPU to choke immediately probably made it exhibit something like the current behaviour, I can&#039;t remember.&lt;br /&gt;
&lt;br /&gt;
(Called at the top of Game/Game.cpp::Update.)&lt;br /&gt;
&lt;br /&gt;
GetHAndPFromVector is only used in one place, for the direct-control stuff.&lt;br /&gt;
&lt;br /&gt;
=== #00116: NOiZE: Cloakcosts are doubled === ([http://taspring.clan-sy.com/mantis/view.php?id=116 Mantis])&lt;br /&gt;
&lt;br /&gt;
Metal generation, energy use and idle regeneration are handled in [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Units/Unit.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0  CUnit]::SlowUpdate().&lt;br /&gt;
&lt;br /&gt;
Metal and energy gain and a couple of other per-unit-time values are divided&lt;br /&gt;
in half in there, but the cloak energy cost isn&#039;t.&lt;br /&gt;
&lt;br /&gt;
You can even see the &#039;half-cost&#039; of things when you, say, turn a metalmaker,&lt;br /&gt;
or a cloak, on or off.&lt;br /&gt;
&lt;br /&gt;
=== #00118: Argh: Feature Request: &amp;quot;Free Interceptor&amp;quot; behavior. === ([http://taspring.clan-sy.com/mantis/view.php?id=118 Mantis])&lt;br /&gt;
&lt;br /&gt;
==== How they work now ====&lt;br /&gt;
&lt;br /&gt;
The [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Weapons/Weapon.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 base Weapon inherit] like it&#039;s willing to&lt;br /&gt;
point any weapon at an incoming projectile (&amp;lt;code&amp;gt;::CheckIntercept&amp;lt;/code&amp;gt;, called by&lt;br /&gt;
&amp;lt;code&amp;gt;CWeapon::Update&amp;lt;/code&amp;gt;). There&#039;s even a couple of interceptor-specific checks in&lt;br /&gt;
it. However, &#039;&#039;only&#039;&#039; Starburst-type indirect-fire missiles have the right&lt;br /&gt;
callbacks for being both interceptable and interceptors.&lt;br /&gt;
&lt;br /&gt;
[http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Weapons/StarburstLauncher.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 &amp;lt;code&amp;gt;CStarburstLauncher::Fire&amp;lt;/code&amp;gt;] tells [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Misc/InterceptHandler.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 CInterceptHandler] about the&lt;br /&gt;
new projectile, if it&#039;s &amp;lt;code&amp;gt;weaponDef-&amp;gt;targetable&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Only [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Projectiles/StarburstProjectile.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 CStarburstProjectile] takes an interceptTarget. In its ::Update, it&lt;br /&gt;
checks if the nuke is &#039;close&#039;. If so, it tells first the nuke then itself&lt;br /&gt;
that they&#039;ve hit something, which makes both of them blow up ([http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Game/GameHelper.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0  helper-&amp;gt;Explosion]). &lt;br /&gt;
&lt;br /&gt;
(It looks like the reason why the nuke&#039;s airburst doesn&#039;t do significant damage is because, on Small Divide, they travel higher than aircraft.)&lt;br /&gt;
&lt;br /&gt;
==== Unpinning the behaviour ====&lt;br /&gt;
&lt;br /&gt;
I haven&#039;t tried it, but it would be relatively easy to have an anti-nuke, say, Vulcan. (... It&#039;s the only salvoing unit who&#039;s projectile class I&#039;ve looked up.)&lt;br /&gt;
&lt;br /&gt;
* (Might need to change CWeapon::Update()&#039;s call to CheckIntercept() to wait until the salvo ends, so        the entire salvo points at the nuke. I haven&#039;t tested this.)&lt;br /&gt;
* Add the interceptTarget argument to CCannon and parameter to CExplosiveProjectile. &lt;br /&gt;
* Copy the range-to-nuke check to CExplosiveProjectile::Update() from StarburstProjectile.&lt;br /&gt;
&lt;br /&gt;
This is nice and easy &#039;cause each interceptor round only needs to check one&lt;br /&gt;
projectile (probably every frame). This presumes that more nukes than&lt;br /&gt;
interceptors never happens - if not, then you&#039;ll get to see the volley of&lt;br /&gt;
Vulcan fire take out one nuke, but probably mysteriously fail to destroy the&lt;br /&gt;
other.&lt;br /&gt;
&lt;br /&gt;
If I want to see a hail of laser fire from the Smasher completely defuse a volley from the Raven, I&#039;d have a problem. Either:&lt;br /&gt;
&lt;br /&gt;
* I do it the simple way and have every interceptor check every interceptable. I&#039;d guess it&#039;d be bad for performance. (Mustn&#039;t forget to check the ally-teams of the projectiles. ... Wait, they don&#039;t have any. :S)&lt;br /&gt;
&lt;br /&gt;
* Someone who understands how the QuadField works extends it (re-fac-tor!) to record interceptable projectiles. Sadly, it mentions SQUARE_SIZE, which is my current cue to find some other aspect of Spring to read.&lt;br /&gt;
&lt;br /&gt;
=== #000119: Argh:  Feature Request: &amp;quot;Free Repulsor&amp;quot;. ===&lt;br /&gt;
&lt;br /&gt;
Note: The [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Projectiles/BeamLaserProjectile.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 beam laser projectile] does the drawing; you&#039;ll find the damage (&amp;quot;explosion&amp;quot;!) is done when the weapon &amp;lt;code&amp;gt;::Fire()&amp;lt;/code&amp;gt;s.&lt;br /&gt;
&lt;br /&gt;
If I pin down the math for a ray reflection, it&#039;ll get used two different ways in two places; once in the reflector to give laser bolts a new heading, and again in BeamLaser to bounce off repulsors (with an extra projectile per reflection) &#039;till something gets hit.&lt;br /&gt;
&lt;br /&gt;
=== #000123: Decimator: Laser weapons will not even attempt to shoot through trees === ([http://taspring.clan-sy.com/mantis/view.php?id=123 Mantis])&lt;br /&gt;
&lt;br /&gt;
... and have done so since SF CVS day dot ([http://cvs.sourceforge.net/viewcvs.py/springrts/taspring/rts/BeamLaser.cpp?rev=1.1&amp;amp;view=markup BeamLaser.cpp]).&lt;br /&gt;
&lt;br /&gt;
One, two, skip a few...&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
| Unit        &lt;br /&gt;
| Target DT?&lt;br /&gt;
| Trees? &lt;br /&gt;
| Weapon&#039;s class              &lt;br /&gt;
| Call responsible&lt;br /&gt;
|- &lt;br /&gt;
| Annihilator &lt;br /&gt;
|    &lt;br /&gt;
|      &lt;br /&gt;
| CBeamLaser         &lt;br /&gt;
| helper-&amp;gt;LineFeatureCol&lt;br /&gt;
|- &lt;br /&gt;
| Ambusher    &lt;br /&gt;
| X  &lt;br /&gt;
| X    &lt;br /&gt;
| CCannon            &lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| Rocko       &lt;br /&gt;
| X  &lt;br /&gt;
| X    &lt;br /&gt;
| CMissileLauncher   &lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| Raven       &lt;br /&gt;
| X  &lt;br /&gt;
| X    &lt;br /&gt;
|                    &lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| HLT         &lt;br /&gt;
|    &lt;br /&gt;
|      &lt;br /&gt;
| CLaserCannon       &lt;br /&gt;
| helper-&amp;gt;LineFeatureCol&lt;br /&gt;
|- &lt;br /&gt;
| Defender    &lt;br /&gt;
| X  &lt;br /&gt;
| X    &lt;br /&gt;
| CMissileLauncher   &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| Merl        &lt;br /&gt;
| X  &lt;br /&gt;
| X    &lt;br /&gt;
| CStarburstLauncher &lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| Zeus        &lt;br /&gt;
|    &lt;br /&gt;
|      &lt;br /&gt;
| CLightningCannon   &lt;br /&gt;
| helper-&amp;gt;LineFeatureCol&lt;br /&gt;
|- &lt;br /&gt;
| Maverick    &lt;br /&gt;
| ?  &lt;br /&gt;
| X    &lt;br /&gt;
|                    &lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
I think there&#039;s an MTR somewhere here, but I&#039;m not entirely sure what it is.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Unit sounds and position ===&lt;br /&gt;
&lt;br /&gt;
Something only occasionally noted is that individual unit-selected sounds play where the unit is, so if you&#039;re zoomed out or off-screen, you can&#039;t hear them. &lt;br /&gt;
&lt;br /&gt;
* [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=1248 Sound]&lt;br /&gt;
* [http://taspring.clan-sy.com/phpbb/viewtopic.php?p=15984#15984 Making sounds audible again]&lt;br /&gt;
* [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2239 Soundvolume is too low when zoomed out]&lt;br /&gt;
* [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=4242&amp;amp;highlight=sound volume vs distance] &lt;br /&gt;
&lt;br /&gt;
([[Monthly_Topic_Rotation|MTR]]! &amp;lt;nowiki&amp;gt;*ahem*&amp;lt;/nowiki&amp;gt; Maybe not.)&lt;br /&gt;
&lt;br /&gt;
==== And some random sound-related posts ====&lt;br /&gt;
* [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2522 Using play-sound in Spring], and how StartMoving() is called &amp;quot;exactly a bazillion times per second in first person view&amp;quot;, like AimPrimary() apparently is. I&#039;m not sure if I could try to fix it, and I &#039;&#039;am&#039;&#039; sure I&#039;d add another strand of spaghetti to Spring on my first few attempts.&lt;br /&gt;
* [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2667 please make the berthasound more quiet!]. For the record, the DGun&#039;s sound has a specific volume nerf ([http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Units/UnitLoader.cpp?op=blame&amp;amp;rev=0&amp;amp;sc=0 CUnitLoader]::LoadWeapon, near the bottom).  It also suggests modder-settable sound-specific volume nerfs, or something.&lt;br /&gt;
* [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=3728 Sound effects still played if you have no LoS]&lt;br /&gt;
&lt;br /&gt;
Hmm. I could almost sketch out a design for a new &amp;quot;[http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/System/Sound.h?op=file&amp;amp;rev=0&amp;amp;sc=0 ISound]&amp;quot; with these requirements... &lt;br /&gt;
&lt;br /&gt;
* SetSoundVolume(id, volume) so users can quiet down their artillery&lt;br /&gt;
* PlayUnitNotificationSound(id, unit, volume) so we can toggle between sound at unit and sound at player&lt;br /&gt;
* Some sort of IVolumeCalculator or something, so you can have&lt;br /&gt;
** the cameras setting different sound models: a near-2D sound system, immune to zooming out, for overhead view and an at-camera all-3D sound system for FPS-type views, see the above threads. &lt;br /&gt;
** Not to mention the different functions and fudge factors for &#039;&#039;how&#039;&#039; the volumes fall off with location.&lt;br /&gt;
* Perhaps add a sound priority (int) to all the PlaySounds so the LLTs don&#039;t replace the Vulcans&#039; sounds, or possibly vice versa. Currently, the OpenAL system has a ring-buffer of 16 simultaneous sounds, maybe. I haven&#039;t looked at that too closely...&lt;br /&gt;
* A mute(bool) method.&lt;/div&gt;</summary>
		<author><name>Krudat</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=User:Krudat&amp;diff=20886</id>
		<title>User:Krudat</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=User:Krudat&amp;diff=20886"/>
		<updated>2006-03-25T01:21:48Z</updated>

		<summary type="html">&lt;p&gt;Krudat: /* Unit sounds and position */  Created.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meben&#039;s Code Parade ==&lt;br /&gt;
&lt;br /&gt;
You know when they say &amp;quot;Use the Source, Luke&amp;quot;? It&#039;s a suprising amount of&lt;br /&gt;
work - and that&#039;s for someone who can almost read C++. Many times, when&lt;br /&gt;
someone adds a bug in [http://spring.clan-sy.com/mantis Mantis] or posts in&lt;br /&gt;
the forums, I read the code closely and try and find the relevant bits.&lt;br /&gt;
I figured since I write it down, I might as well write it down where I can&lt;br /&gt;
find it again, and where someone else might find it useful.&lt;br /&gt;
&lt;br /&gt;
Rules: don&#039;t touch the lobby client, no snide commentary. Just code&lt;br /&gt;
references.&lt;br /&gt;
&lt;br /&gt;
(WebSVN doesn&#039;t give per-line anchors. So much for code references.)&lt;br /&gt;
&lt;br /&gt;
=== #00048: Ferromancer: Unit Behavior: Construction units on patrol claim resources when not needed. === ([http://taspring.clan-sy.com/mantis/view.php?id=48 Mantis])&lt;br /&gt;
&lt;br /&gt;
Add a check around [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Units/CommandAI/BuilderCAI.cpp?op=blame&amp;amp;rev=963&amp;amp;sc=0  CBuilderCAI]:452.&lt;br /&gt;
&lt;br /&gt;
=== #00050: Ferromancer: Ground construction units attempt to repair air units while in flight === ([http://taspring.clan-sy.com/mantis/view.php?id=50 Mantis])&lt;br /&gt;
&lt;br /&gt;
I &#039;&#039;think&#039;&#039; CMD_PATROL is a point rather than a path. (And why&lt;br /&gt;
does it push a copy of itself?) (And it&#039;s been that way since ancient SF&lt;br /&gt;
CVS.) (Oh, and deque semantics are a pain - the docs don&#039;t define them very&lt;br /&gt;
well. I &#039;&#039;hope&#039;&#039; &amp;lt;tt&amp;gt;commandQue.push_front(co) means commandQue[0] == co&amp;lt;/tt&amp;gt; ...)&lt;br /&gt;
&amp;lt;nowiki&amp;gt;[TODO Whoever made templated network messages can start on commands now. :P]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I&#039;d still need to figure out how to tell if the current repair job is the&lt;br /&gt;
fault of a patrol command, and how to abort it.&lt;br /&gt;
&lt;br /&gt;
The policy question is how and when the con-bot decides to give up on the&lt;br /&gt;
air unit and do something else. (How far is &#039;too far&#039; from the patrol&lt;br /&gt;
position?)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== #00052: Bug Hunter: Units acknoledge enemy &amp;quot;bugger of&amp;quot; === ([http://taspring.clan-sy.com/mantis/view.php?id=52 Mantis])&lt;br /&gt;
&lt;br /&gt;
Perhaps Bug Hunter picked the phrase &amp;quot;bugger off&amp;quot; because that&#039;s what it&#039;s&lt;br /&gt;
called in code. You can even do it from COB.&lt;br /&gt;
&lt;br /&gt;
If you &#039;&#039;couldn&#039;t&#039;&#039;, I&#039;d just get [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Game/GameHelper.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 helper-&amp;gt;BuggerOff] to check team or ally&lt;br /&gt;
relationships (or whatever it is). But for all I know, units only clear&lt;br /&gt;
factory buildpads because the factory script asks them to.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
ColCheckH and ColCheckV in [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Units/MoveTypes/groundmovetype.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 groundmovetype.cpp] tell fellow ground-pounders to&lt;br /&gt;
get out of the way on close collision. I&#039;d guess this is the code that&lt;br /&gt;
prevents anyone ever making a nice neat line of units. =) Including, in this&lt;br /&gt;
case, the enemy. Unfortunately, the rest of the file, at a glance, looks&lt;br /&gt;
like Spring&#039;s ever-fragile ground pather.&lt;br /&gt;
&lt;br /&gt;
=== #00066: Argh: S3O Explosion Behavior === ([http://taspring.clan-sy.com/mantis/view.php?id=66 Mantis])&lt;br /&gt;
&lt;br /&gt;
It shouldn&#039;t be &#039;&#039;impossible&#039;&#039; to let s3o &#039;&#039;pieces&#039;&#039; explode without&lt;br /&gt;
&amp;lt;tt&amp;gt;SHATTER&amp;lt;/tt&amp;gt;. Making s3os shatterable would take a little longer since we&#039;ve got&lt;br /&gt;
arrays of verticies rather than 3do-style faces.&lt;br /&gt;
&lt;br /&gt;
However, in Feb. 2006, someone said something about writing a model-type abstraction that would include Ogre meshes, whatever those are. Again in March, someone&#039;s tinkering with unit textures.&lt;br /&gt;
&lt;br /&gt;
=== #00068: Argh: Behavior of FALL scripting event === ([http://taspring.clan-sy.com/mantis/view.php?id=68 Mantis])&lt;br /&gt;
&lt;br /&gt;
Unfortunately, I don&#039;t have the source for the AA Vulcan, which features ejecting cases.&lt;br /&gt;
&lt;br /&gt;
There&#039;s an ancient note that all such fragments must &amp;lt;code&amp;gt;FALL&amp;lt;/code&amp;gt; otherwise they&#039;ll&lt;br /&gt;
never go away.&lt;br /&gt;
&lt;br /&gt;
I&#039;d have to fire up OTA to get the correct behaviour.&lt;br /&gt;
&lt;br /&gt;
(PieceProjectiles do exactly 50 damage.)&lt;br /&gt;
&lt;br /&gt;
=== #00116: NOiZE: Cloakcosts are doubled === ([http://taspring.clan-sy.com/mantis/view.php?id=116 Mantis])&lt;br /&gt;
&lt;br /&gt;
Metal generation, energy use and idle regeneration are handled in [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Units/Unit.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0  CUnit]::SlowUpdate().&lt;br /&gt;
&lt;br /&gt;
Metal and energy gain and a couple of other per-unit-time values are divided&lt;br /&gt;
in half in there, but the cloak energy cost isn&#039;t.&lt;br /&gt;
&lt;br /&gt;
You can even see the &#039;half-cost&#039; of things when you, say, turn a metalmaker,&lt;br /&gt;
or a cloak, on or off.&lt;br /&gt;
&lt;br /&gt;
=== #00118: Argh: Feature Request: &amp;quot;Free Interceptor&amp;quot; behavior. === ([http://taspring.clan-sy.com/mantis/view.php?id=118 Mantis])&lt;br /&gt;
&lt;br /&gt;
==== How they work now ====&lt;br /&gt;
&lt;br /&gt;
The [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Weapons/Weapon.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 base Weapon inherit] like it&#039;s willing to&lt;br /&gt;
point any weapon at an incoming projectile (&amp;lt;code&amp;gt;::CheckIntercept&amp;lt;/code&amp;gt;, called by&lt;br /&gt;
&amp;lt;code&amp;gt;CWeapon::Update&amp;lt;/code&amp;gt;). There&#039;s even a couple of interceptor-specific checks in&lt;br /&gt;
it. However, &#039;&#039;only&#039;&#039; Starburst-type indirect-fire missiles have the right&lt;br /&gt;
callbacks for being both interceptable and interceptors.&lt;br /&gt;
&lt;br /&gt;
[http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Weapons/StarburstLauncher.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 &amp;lt;code&amp;gt;CStarburstLauncher::Fire&amp;lt;/code&amp;gt;] tells [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Misc/InterceptHandler.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 CInterceptHandler] about the&lt;br /&gt;
new projectile, if it&#039;s &amp;lt;code&amp;gt;weaponDef-&amp;gt;targetable&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Only [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Projectiles/StarburstProjectile.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 CStarburstProjectile] takes an interceptTarget. In its ::Update, it&lt;br /&gt;
checks if the nuke is &#039;close&#039;. If so, it tells first the nuke then itself&lt;br /&gt;
that they&#039;ve hit something, which makes both of them blow up ([http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Game/GameHelper.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0  helper-&amp;gt;Explosion]). &lt;br /&gt;
&lt;br /&gt;
(It looks like the reason why the nuke&#039;s airburst doesn&#039;t do significant damage is because, on Small Divide, they travel higher than aircraft.)&lt;br /&gt;
&lt;br /&gt;
==== Unpinning the behaviour ====&lt;br /&gt;
&lt;br /&gt;
I haven&#039;t tried it, but it would be relatively easy to have an anti-nuke, say, Vulcan. (... It&#039;s the only salvoing unit who&#039;s projectile class I&#039;ve looked up.)&lt;br /&gt;
&lt;br /&gt;
* (Might need to change CWeapon::Update()&#039;s call to CheckIntercept() to wait until the salvo ends, so        the entire salvo points at the nuke. I haven&#039;t tested this.)&lt;br /&gt;
* Add the interceptTarget argument to CCannon and parameter to CExplosiveProjectile. &lt;br /&gt;
* Copy the range-to-nuke check to CExplosiveProjectile::Update() from StarburstProjectile.&lt;br /&gt;
&lt;br /&gt;
This is nice and easy &#039;cause each interceptor round only needs to check one&lt;br /&gt;
projectile (probably every frame). This presumes that more nukes than&lt;br /&gt;
interceptors never happens - if not, then you&#039;ll get to see the volley of&lt;br /&gt;
Vulcan fire take out one nuke, but probably mysteriously fail to destroy the&lt;br /&gt;
other.&lt;br /&gt;
&lt;br /&gt;
If I want to see a hail of laser fire from the Smasher completely defuse a volley from the Raven, I&#039;d have a problem. Either:&lt;br /&gt;
&lt;br /&gt;
* I do it the simple way and have every interceptor check every interceptable. I&#039;d guess it&#039;d be bad for performance. (Mustn&#039;t forget to check the ally-teams of the projectiles. ... Wait, they don&#039;t have any. :S)&lt;br /&gt;
&lt;br /&gt;
* Someone who understands how the QuadField works extends it (re-fac-tor!) to record interceptable projectiles. Sadly, it mentions SQUARE_SIZE, which is my current cue to find some other aspect of Spring to read.&lt;br /&gt;
&lt;br /&gt;
=== #000123: Decimator: Laser weapons will not even attempt to shoot through trees === ([http://taspring.clan-sy.com/mantis/view.php?id=123 Mantis])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
... and have done so since SF CVS day dot ([http://cvs.sourceforge.net/viewcvs.py/springrts/taspring/rts/BeamLaser.cpp?rev=1.1&amp;amp;view=markup BeamLaser.cpp]).&lt;br /&gt;
&lt;br /&gt;
One, two, skip a few...&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
| Unit        &lt;br /&gt;
| Target DT?&lt;br /&gt;
| Trees? &lt;br /&gt;
| Weapon&#039;s class              &lt;br /&gt;
| Call responsible&lt;br /&gt;
|- &lt;br /&gt;
| Annihilator &lt;br /&gt;
|    &lt;br /&gt;
|      &lt;br /&gt;
| CBeamLaser         &lt;br /&gt;
| helper-&amp;gt;LineFeatureCol&lt;br /&gt;
|- &lt;br /&gt;
| Ambusher    &lt;br /&gt;
| X  &lt;br /&gt;
| X    &lt;br /&gt;
| CCannon            &lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| Rocko       &lt;br /&gt;
| X  &lt;br /&gt;
| X    &lt;br /&gt;
| CMissileLauncher   &lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| Raven       &lt;br /&gt;
| X  &lt;br /&gt;
| X    &lt;br /&gt;
|                    &lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| HLT         &lt;br /&gt;
|    &lt;br /&gt;
|      &lt;br /&gt;
| CLaserCannon       &lt;br /&gt;
| helper-&amp;gt;LineFeatureCol&lt;br /&gt;
|- &lt;br /&gt;
| Defender    &lt;br /&gt;
| X  &lt;br /&gt;
| X    &lt;br /&gt;
| CMissileLauncher   &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| Merl        &lt;br /&gt;
| X  &lt;br /&gt;
| X    &lt;br /&gt;
| CStarburstLauncher &lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| Zeus        &lt;br /&gt;
|    &lt;br /&gt;
|      &lt;br /&gt;
| CLightningCannon   &lt;br /&gt;
| helper-&amp;gt;LineFeatureCol&lt;br /&gt;
|- &lt;br /&gt;
| Maverick    &lt;br /&gt;
| ?  &lt;br /&gt;
| X    &lt;br /&gt;
|                    &lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
I think there&#039;s an MTR somewhere here, but I&#039;m not entirely sure what it is.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Unit sounds and position ===&lt;br /&gt;
&lt;br /&gt;
Something only occasionally noted is that individual unit-selected sounds play where the unit is, so if you&#039;re zoomed out or off-screen, you can&#039;t hear them. &lt;br /&gt;
&lt;br /&gt;
* [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=1248 Sound]&lt;br /&gt;
* [http://taspring.clan-sy.com/phpbb/viewtopic.php?p=15984#15984 Making sounds audible again]&lt;br /&gt;
* [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2239 Soundvolume is too low when zoomed out]&lt;br /&gt;
* [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=4242&amp;amp;highlight=sound volume vs distance] &lt;br /&gt;
&lt;br /&gt;
([[Monthly_Topic_Rotation|MTR]]! &amp;lt;nowiki&amp;gt;*ahem*&amp;lt;/nowiki&amp;gt; Maybe not.)&lt;br /&gt;
&lt;br /&gt;
==== And some random sound-related posts ====&lt;br /&gt;
* [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2522 Using play-sound in Spring], and how StartMoving() is called &amp;quot;exactly a bazillion times per second in first person view&amp;quot;, like AimPrimary() apparently is. I&#039;m not sure if I could try to fix it, and I &#039;&#039;am&#039;&#039; sure I&#039;d add another strand of spaghetti to Spring on my first few attempts.&lt;br /&gt;
* [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2667 please make the berthasound more quiet!]. For the record, the DGun&#039;s sound has a specific volume nerf ([http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Units/UnitLoader.cpp?op=blame&amp;amp;rev=0&amp;amp;sc=0 CUnitLoader]::LoadWeapon, near the bottom).  It also suggests modder-settable sound-specific volume nerfs, or something.&lt;br /&gt;
* [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=3728 Sound effects still played if you have no LoS]&lt;br /&gt;
&lt;br /&gt;
]&lt;/div&gt;</summary>
		<author><name>Krudat</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=User:Krudat&amp;diff=20885</id>
		<title>User:Krudat</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=User:Krudat&amp;diff=20885"/>
		<updated>2006-03-25T00:49:11Z</updated>

		<summary type="html">&lt;p&gt;Krudat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meben&#039;s Code Parade ==&lt;br /&gt;
&lt;br /&gt;
You know when they say &amp;quot;Use the Source, Luke&amp;quot;? It&#039;s a suprising amount of&lt;br /&gt;
work - and that&#039;s for someone who can almost read C++. Many times, when&lt;br /&gt;
someone adds a bug in [http://spring.clan-sy.com/mantis Mantis] or posts in&lt;br /&gt;
the forums, I read the code closely and try and find the relevant bits.&lt;br /&gt;
I figured since I write it down, I might as well write it down where I can&lt;br /&gt;
find it again, and where someone else might find it useful.&lt;br /&gt;
&lt;br /&gt;
Rules: don&#039;t touch the lobby client, no snide commentary. Just code&lt;br /&gt;
references.&lt;br /&gt;
&lt;br /&gt;
(WebSVN doesn&#039;t give per-line anchors. So much for code references.)&lt;br /&gt;
&lt;br /&gt;
=== #00048: Ferromancer: Unit Behavior: Construction units on patrol claim resources when not needed. === ([http://taspring.clan-sy.com/mantis/view.php?id=48 Mantis])&lt;br /&gt;
&lt;br /&gt;
Add a check around [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Units/CommandAI/BuilderCAI.cpp?op=blame&amp;amp;rev=963&amp;amp;sc=0  CBuilderCAI]:452.&lt;br /&gt;
&lt;br /&gt;
=== #00050: Ferromancer: Ground construction units attempt to repair air units while in flight === ([http://taspring.clan-sy.com/mantis/view.php?id=50 Mantis])&lt;br /&gt;
&lt;br /&gt;
I &#039;&#039;think&#039;&#039; CMD_PATROL is a point rather than a path. (And why&lt;br /&gt;
does it push a copy of itself?) (And it&#039;s been that way since ancient SF&lt;br /&gt;
CVS.) (Oh, and deque semantics are a pain - the docs don&#039;t define them very&lt;br /&gt;
well. I &#039;&#039;hope&#039;&#039; &amp;lt;tt&amp;gt;commandQue.push_front(co) means commandQue[0] == co&amp;lt;/tt&amp;gt; ...)&lt;br /&gt;
&amp;lt;nowiki&amp;gt;[TODO Whoever made templated network messages can start on commands now. :P]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I&#039;d still need to figure out how to tell if the current repair job is the&lt;br /&gt;
fault of a patrol command, and how to abort it.&lt;br /&gt;
&lt;br /&gt;
The policy question is how and when the con-bot decides to give up on the&lt;br /&gt;
air unit and do something else. (How far is &#039;too far&#039; from the patrol&lt;br /&gt;
position?)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== #00052: Bug Hunter: Units acknoledge enemy &amp;quot;bugger of&amp;quot; === ([http://taspring.clan-sy.com/mantis/view.php?id=52 Mantis])&lt;br /&gt;
&lt;br /&gt;
Perhaps Bug Hunter picked the phrase &amp;quot;bugger off&amp;quot; because that&#039;s what it&#039;s&lt;br /&gt;
called in code. You can even do it from COB.&lt;br /&gt;
&lt;br /&gt;
If you &#039;&#039;couldn&#039;t&#039;&#039;, I&#039;d just get [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Game/GameHelper.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 helper-&amp;gt;BuggerOff] to check team or ally&lt;br /&gt;
relationships (or whatever it is). But for all I know, units only clear&lt;br /&gt;
factory buildpads because the factory script asks them to.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
ColCheckH and ColCheckV in [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Units/MoveTypes/groundmovetype.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 groundmovetype.cpp] tell fellow ground-pounders to&lt;br /&gt;
get out of the way on close collision. I&#039;d guess this is the code that&lt;br /&gt;
prevents anyone ever making a nice neat line of units. =) Including, in this&lt;br /&gt;
case, the enemy. Unfortunately, the rest of the file, at a glance, looks&lt;br /&gt;
like Spring&#039;s ever-fragile ground pather.&lt;br /&gt;
&lt;br /&gt;
=== #00066: Argh: S3O Explosion Behavior === ([http://taspring.clan-sy.com/mantis/view.php?id=66 Mantis])&lt;br /&gt;
&lt;br /&gt;
It shouldn&#039;t be &#039;&#039;impossible&#039;&#039; to let s3o &#039;&#039;pieces&#039;&#039; explode without&lt;br /&gt;
&amp;lt;tt&amp;gt;SHATTER&amp;lt;/tt&amp;gt;. Making s3os shatterable would take a little longer since we&#039;ve got&lt;br /&gt;
arrays of verticies rather than 3do-style faces.&lt;br /&gt;
&lt;br /&gt;
However, in Feb. 2006, someone said something about writing a model-type abstraction that would include Ogre meshes, whatever those are. Again in March, someone&#039;s tinkering with unit textures.&lt;br /&gt;
&lt;br /&gt;
=== #00068: Argh: Behavior of FALL scripting event === ([http://taspring.clan-sy.com/mantis/view.php?id=68 Mantis])&lt;br /&gt;
&lt;br /&gt;
Unfortunately, I don&#039;t have the source for the AA Vulcan, which features ejecting cases.&lt;br /&gt;
&lt;br /&gt;
There&#039;s an ancient note that all such fragments must &amp;lt;code&amp;gt;FALL&amp;lt;/code&amp;gt; otherwise they&#039;ll&lt;br /&gt;
never go away.&lt;br /&gt;
&lt;br /&gt;
I&#039;d have to fire up OTA to get the correct behaviour.&lt;br /&gt;
&lt;br /&gt;
(PieceProjectiles do exactly 50 damage.)&lt;br /&gt;
&lt;br /&gt;
=== #00116: NOiZE: Cloakcosts are doubled === ([http://taspring.clan-sy.com/mantis/view.php?id=116 Mantis])&lt;br /&gt;
&lt;br /&gt;
Metal generation, energy use and idle regeneration are handled in [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Units/Unit.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0  CUnit]::SlowUpdate().&lt;br /&gt;
&lt;br /&gt;
Metal and energy gain and a couple of other per-unit-time values are divided&lt;br /&gt;
in half in there, but the cloak energy cost isn&#039;t.&lt;br /&gt;
&lt;br /&gt;
You can even see the &#039;half-cost&#039; of things when you, say, turn a metalmaker,&lt;br /&gt;
or a cloak, on or off.&lt;br /&gt;
&lt;br /&gt;
=== #00118: Argh: Feature Request: &amp;quot;Free Interceptor&amp;quot; behavior. === ([http://taspring.clan-sy.com/mantis/view.php?id=118 Mantis])&lt;br /&gt;
&lt;br /&gt;
==== How they work now ====&lt;br /&gt;
&lt;br /&gt;
The [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Weapons/Weapon.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 base Weapon inherit] like it&#039;s willing to&lt;br /&gt;
point any weapon at an incoming projectile (&amp;lt;code&amp;gt;::CheckIntercept&amp;lt;/code&amp;gt;, called by&lt;br /&gt;
&amp;lt;code&amp;gt;CWeapon::Update&amp;lt;/code&amp;gt;). There&#039;s even a couple of interceptor-specific checks in&lt;br /&gt;
it. However, &#039;&#039;only&#039;&#039; Starburst-type indirect-fire missiles have the right&lt;br /&gt;
callbacks for being both interceptable and interceptors.&lt;br /&gt;
&lt;br /&gt;
[http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Weapons/StarburstLauncher.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 &amp;lt;code&amp;gt;CStarburstLauncher::Fire&amp;lt;/code&amp;gt;] tells [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Misc/InterceptHandler.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 CInterceptHandler] about the&lt;br /&gt;
new projectile, if it&#039;s &amp;lt;code&amp;gt;weaponDef-&amp;gt;targetable&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Only [http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Sim/Projectiles/StarburstProjectile.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0 CStarburstProjectile] takes an interceptTarget. In its ::Update, it&lt;br /&gt;
checks if the nuke is &#039;close&#039;. If so, it tells first the nuke then itself&lt;br /&gt;
that they&#039;ve hit something, which makes both of them blow up ([http://svn.berlios.de/wsvn/taspring-linux/trunk/rts/Game/GameHelper.cpp?op=file&amp;amp;rev=0&amp;amp;sc=0  helper-&amp;gt;Explosion]). &lt;br /&gt;
&lt;br /&gt;
(It looks like the reason why the nuke&#039;s airburst doesn&#039;t do significant damage is because, on Small Divide, they travel higher than aircraft.)&lt;br /&gt;
&lt;br /&gt;
==== Unpinning the behaviour ====&lt;br /&gt;
&lt;br /&gt;
I haven&#039;t tried it, but it would be relatively easy to have an anti-nuke, say, Vulcan. (... It&#039;s the only salvoing unit who&#039;s projectile class I&#039;ve looked up.)&lt;br /&gt;
&lt;br /&gt;
* (Might need to change CWeapon::Update()&#039;s call to CheckIntercept() to wait until the salvo ends, so        the entire salvo points at the nuke. I haven&#039;t tested this.)&lt;br /&gt;
* Add the interceptTarget argument to CCannon and parameter to CExplosiveProjectile. &lt;br /&gt;
* Copy the range-to-nuke check to CExplosiveProjectile::Update() from StarburstProjectile.&lt;br /&gt;
&lt;br /&gt;
This is nice and easy &#039;cause each interceptor round only needs to check one&lt;br /&gt;
projectile (probably every frame). This presumes that more nukes than&lt;br /&gt;
interceptors never happens - if not, then you&#039;ll get to see the volley of&lt;br /&gt;
Vulcan fire take out one nuke, but probably mysteriously fail to destroy the&lt;br /&gt;
other.&lt;br /&gt;
&lt;br /&gt;
If I want to see a hail of laser fire from the Smasher completely defuse a volley from the Raven, I&#039;d have a problem. Either:&lt;br /&gt;
&lt;br /&gt;
* I do it the simple way and have every interceptor check every interceptable. I&#039;d guess it&#039;d be bad for performance. (Mustn&#039;t forget to check the ally-teams of the projectiles. ... Wait, they don&#039;t have any. :S)&lt;br /&gt;
&lt;br /&gt;
* Someone who understands how the QuadField works extends it (re-fac-tor!) to record interceptable projectiles. Sadly, it mentions SQUARE_SIZE, which is my current cue to find some other aspect of Spring to read.&lt;br /&gt;
&lt;br /&gt;
=== #000123: Decimator: Laser weapons will not even attempt to shoot through trees === ([http://taspring.clan-sy.com/mantis/view.php?id=123 Mantis])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
... and have done so since SF CVS day dot ([http://cvs.sourceforge.net/viewcvs.py/springrts/taspring/rts/BeamLaser.cpp?rev=1.1&amp;amp;view=markup BeamLaser.cpp]).&lt;br /&gt;
&lt;br /&gt;
One, two, skip a few...&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
| Unit        &lt;br /&gt;
| Target DT?&lt;br /&gt;
| Trees? &lt;br /&gt;
| Weapon&#039;s class              &lt;br /&gt;
| Call responsible&lt;br /&gt;
|- &lt;br /&gt;
| Annihilator &lt;br /&gt;
|    &lt;br /&gt;
|      &lt;br /&gt;
| CBeamLaser         &lt;br /&gt;
| helper-&amp;gt;LineFeatureCol&lt;br /&gt;
|- &lt;br /&gt;
| Ambusher    &lt;br /&gt;
| X  &lt;br /&gt;
| X    &lt;br /&gt;
| CCannon            &lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| Rocko       &lt;br /&gt;
| X  &lt;br /&gt;
| X    &lt;br /&gt;
| CMissileLauncher   &lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| Raven       &lt;br /&gt;
| X  &lt;br /&gt;
| X    &lt;br /&gt;
|                    &lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| HLT         &lt;br /&gt;
|    &lt;br /&gt;
|      &lt;br /&gt;
| CLaserCannon       &lt;br /&gt;
| helper-&amp;gt;LineFeatureCol&lt;br /&gt;
|- &lt;br /&gt;
| Defender    &lt;br /&gt;
| X  &lt;br /&gt;
| X    &lt;br /&gt;
| CMissileLauncher   &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| Merl        &lt;br /&gt;
| X  &lt;br /&gt;
| X    &lt;br /&gt;
| CStarburstLauncher &lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| Zeus        &lt;br /&gt;
|    &lt;br /&gt;
|      &lt;br /&gt;
| CLightningCannon   &lt;br /&gt;
| helper-&amp;gt;LineFeatureCol&lt;br /&gt;
|- &lt;br /&gt;
| Maverick    &lt;br /&gt;
| ?  &lt;br /&gt;
| X    &lt;br /&gt;
|                    &lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
I think there&#039;s an MTR somewhere here, but I&#039;m not entirely sure what it is.&lt;/div&gt;</summary>
		<author><name>Krudat</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=File:Krudat-Horrible-CEGUI.jpg&amp;diff=21857</id>
		<title>File:Krudat-Horrible-CEGUI.jpg</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=File:Krudat-Horrible-CEGUI.jpg&amp;diff=21857"/>
		<updated>2006-02-17T00:13:45Z</updated>

		<summary type="html">&lt;p&gt;Krudat: Highly-compressed screenshot of my CEGUI experiments.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Highly-compressed screenshot of my CEGUI experiments.&lt;/div&gt;</summary>
		<author><name>Krudat</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Monthly_Topic_Rotation&amp;diff=14688</id>
		<title>Monthly Topic Rotation</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Monthly_Topic_Rotation&amp;diff=14688"/>
		<updated>2005-11-15T20:17:01Z</updated>

		<summary type="html">&lt;p&gt;Krudat: /* The New GUI */  One more thread.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This Term, coined by Gnome, refers to the fact that people keep coming into the forums and posting messages on the same subject.  It seems that as Spring becomes more popular, more n00bz keep coming up with the same ideas and questions... think of this as the &amp;quot;shut up because you are stupid FAQ&amp;quot; as apposed to the real [[FAQ]].&lt;br /&gt;
&lt;br /&gt;
Now in some situations it&#039;s okay to repost on the same topic, if it has been only mentioned before in other people&#039;s topics or if you make reference to the fact that it is a known issue you are addressing with new ideas... but that doesn&#039;t excuse you from the list :P&lt;br /&gt;
&lt;br /&gt;
=The Topics=&lt;br /&gt;
&#039;&#039;&#039;Alphabetical List of Generic Topics with brief discussion and list of topics posted on these subjects for quick reference:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==OTA Style Music==&lt;br /&gt;
Requests or Suggestions that the engine include music playback, especially music that changes depending on what kind of action is happening in game.  Associated with requests for a sound track of any kind or asking for a link to get the orriginal TA Soundtrack in MP3 format.&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2856 Soundtracks.]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2786&amp;amp;highlight=music Original TA music]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2640&amp;amp;highlight=music TA Style music]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2363&amp;amp;highlight=music Music Player code]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2348&amp;amp;highlight=music Is original music needed?]&lt;br /&gt;
&lt;br /&gt;
==Raise/Lower Terrain==&lt;br /&gt;
People suggesting or requesting some kind of better control over deformable terrain or some king of terraforming unit.  Often associated with people posting pictures of cool effects they have achieved through the use of the current &amp;quot;blow a big hole and then restore to the desired surface&amp;quot; method.&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2838 Raise/Lower Terrain?]&lt;br /&gt;
&lt;br /&gt;
==Camera Angles==&lt;br /&gt;
suggesting changes to current camera angles, popularly related to the inability of the rotatable and FPS cams to go outside the map boundries, making it difficult to see units close to the edges of the map.&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2821 The #2 item on my wishlist]&lt;br /&gt;
&lt;br /&gt;
Also, there&#039;s the problem of the world stopping at a rather steep drop.&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2789 What is good, and what is bad]&lt;br /&gt;
&lt;br /&gt;
==The New GUI==&lt;br /&gt;
Anything related to how bad the current GUI is, suggestions for features that already exists but users do not know about because they are barely documented, or simply threads asking for or about the new GUI.&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2801 New GUI questions]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=1994 New GUI testing]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?p=35418 Wheres the new gui?]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=1643 re: about the newGUI]&lt;br /&gt;
&lt;br /&gt;
==Multiple transport load sharing via cable hooks==&lt;br /&gt;
Seriously WTF, this isn&#039;t even a good idea, why does this keep coming up?&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2621 Transports]&lt;br /&gt;
&lt;br /&gt;
==Mobile factories==&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2017 Rise and walk, or how my factorie grew legs (and wings too).]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2809#38534 &amp;quot;Build pads&amp;quot; for units]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?p=35072#35072 air based factories for FF]&lt;br /&gt;
&lt;br /&gt;
==Rotatable buildings==&lt;br /&gt;
&lt;br /&gt;
Partly, Spring&#039;s pathfinding and collision assumes buildings align themselves with the map; no-one&#039;s made any detailed claims about how much code this would affect, other than &#039;lots&#039;.&lt;br /&gt;
&lt;br /&gt;
Even if you stick with 90 degree rotations, there&#039;s still figuring out the controls for rotating a building.&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2820 The #1 item on my wishlist]&lt;br /&gt;
&lt;br /&gt;
==Day and Night==&lt;br /&gt;
&lt;br /&gt;
Wouldn&#039;t it be pretty to see a tank&#039;s headlights in the dark? Even prettier would be to have a dynamic sun to go with it. =) Watch the mountain&#039;s shadows lengthen...&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?p=5514#5514 Reviving the request list]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=1598 Day and Night]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=552 how about night and day]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2872 Gameplay idea: Night]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Fog of War, Line of Sight==&lt;br /&gt;
&lt;br /&gt;
Particularly when in &#039;possession&#039; mode, people unconsciously assume that their unit can see further than it can, typically to how much &amp;lt;em&amp;gt;terrain&amp;lt;/em&amp;gt; they can see.&lt;br /&gt;
&lt;br /&gt;
Some have suggested using FPS-style line of sight.&lt;br /&gt;
&lt;br /&gt;
And there&#039;s &#039;building memory&#039;, seeing greyed^Wfaded out versions of buildings when the originals aren&#039;t in line-of-sight anymore.&lt;br /&gt;
&lt;br /&gt;
Some find being able to see the whole map, but only being able to see units in their line of sight, somewhat disturbing.&lt;/div&gt;</summary>
		<author><name>Krudat</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Monthly_Topic_Rotation&amp;diff=14687</id>
		<title>Monthly Topic Rotation</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Monthly_Topic_Rotation&amp;diff=14687"/>
		<updated>2005-11-15T19:33:52Z</updated>

		<summary type="html">&lt;p&gt;Krudat: Another topic, thanks Mugslugs.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This Term, coined by Gnome, refers to the fact that people keep coming into the forums and posting messages on the same subject.  It seems that as Spring becomes more popular, more n00bz keep coming up with the same ideas and questions... think of this as the &amp;quot;shut up because you are stupid FAQ&amp;quot; as apposed to the real [[FAQ]].&lt;br /&gt;
&lt;br /&gt;
Now in some situations it&#039;s okay to repost on the same topic, if it has been only mentioned before in other people&#039;s topics or if you make reference to the fact that it is a known issue you are addressing with new ideas... but that doesn&#039;t excuse you from the list :P&lt;br /&gt;
&lt;br /&gt;
=The Topics=&lt;br /&gt;
&#039;&#039;&#039;Alphabetical List of Generic Topics with brief discussion and list of topics posted on these subjects for quick reference:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==OTA Style Music==&lt;br /&gt;
Requests or Suggestions that the engine include music playback, especially music that changes depending on what kind of action is happening in game.  Associated with requests for a sound track of any kind or asking for a link to get the orriginal TA Soundtrack in MP3 format.&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2856 Soundtracks.]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2786&amp;amp;highlight=music Original TA music]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2640&amp;amp;highlight=music TA Style music]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2363&amp;amp;highlight=music Music Player code]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2348&amp;amp;highlight=music Is original music needed?]&lt;br /&gt;
&lt;br /&gt;
==Raise/Lower Terrain==&lt;br /&gt;
People suggesting or requesting some kind of better control over deformable terrain or some king of terraforming unit.  Often associated with people posting pictures of cool effects they have achieved through the use of the current &amp;quot;blow a big hole and then restore to the desired surface&amp;quot; method.&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2838 Raise/Lower Terrain?]&lt;br /&gt;
&lt;br /&gt;
==Camera Angles==&lt;br /&gt;
suggesting changes to current camera angles, popularly related to the inability of the rotatable and FPS cams to go outside the map boundries, making it difficult to see units close to the edges of the map.&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2821 The #2 item on my wishlist]&lt;br /&gt;
&lt;br /&gt;
Also, there&#039;s the problem of the world stopping at a rather steep drop.&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2789 What is good, and what is bad]&lt;br /&gt;
&lt;br /&gt;
==The New GUI==&lt;br /&gt;
Anything related to how bad the current GUI is, suggestions for features that already exists but users do not know about because they are barely documented, or simply threads asking for or about the new GUI.&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2801 New GUI questions]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=1994 New GUI testing]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?p=35418 Wheres the new gui?]&lt;br /&gt;
&lt;br /&gt;
==Multiple transport load sharing via cable hooks==&lt;br /&gt;
Seriously WTF, this isn&#039;t even a good idea, why does this keep coming up?&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2621 Transports]&lt;br /&gt;
&lt;br /&gt;
==Mobile factories==&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2017 Rise and walk, or how my factorie grew legs (and wings too).]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2809#38534 &amp;quot;Build pads&amp;quot; for units]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?p=35072#35072 air based factories for FF]&lt;br /&gt;
&lt;br /&gt;
==Rotatable buildings==&lt;br /&gt;
&lt;br /&gt;
Partly, Spring&#039;s pathfinding and collision assumes buildings align themselves with the map; no-one&#039;s made any detailed claims about how much code this would affect, other than &#039;lots&#039;.&lt;br /&gt;
&lt;br /&gt;
Even if you stick with 90 degree rotations, there&#039;s still figuring out the controls for rotating a building.&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2820 The #1 item on my wishlist]&lt;br /&gt;
&lt;br /&gt;
==Day and Night==&lt;br /&gt;
&lt;br /&gt;
Wouldn&#039;t it be pretty to see a tank&#039;s headlights in the dark? Even prettier would be to have a dynamic sun to go with it. =) Watch the mountain&#039;s shadows lengthen...&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?p=5514#5514 Reviving the request list]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=1598 Day and Night]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=552 how about night and day]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2872 Gameplay idea: Night]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Fog of War, Line of Sight==&lt;br /&gt;
&lt;br /&gt;
Particularly when in &#039;possession&#039; mode, people unconsciously assume that their unit can see further than it can, typically to how much &amp;lt;em&amp;gt;terrain&amp;lt;/em&amp;gt; they can see.&lt;br /&gt;
&lt;br /&gt;
Some have suggested using FPS-style line of sight.&lt;br /&gt;
&lt;br /&gt;
And there&#039;s &#039;building memory&#039;, seeing greyed^Wfaded out versions of buildings when the originals aren&#039;t in line-of-sight anymore.&lt;br /&gt;
&lt;br /&gt;
Some find being able to see the whole map, but only being able to see units in their line of sight, somewhat disturbing.&lt;/div&gt;</summary>
		<author><name>Krudat</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Monthly_Topic_Rotation&amp;diff=14686</id>
		<title>Monthly Topic Rotation</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Monthly_Topic_Rotation&amp;diff=14686"/>
		<updated>2005-11-15T00:41:53Z</updated>

		<summary type="html">&lt;p&gt;Krudat: Some more not quite monthly topics.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This Term, coined by Gnome, refers to the fact that people keep coming into the forums and posting messages on the same subject.  It seems that as Spring becomes more popular, more n00bz keep coming up with the same ideas and questions... think of this as the &amp;quot;shut up because you are stupid FAQ&amp;quot; as apposed to the real [[FAQ]].&lt;br /&gt;
&lt;br /&gt;
Now in some situations it&#039;s okay to repost on the same topic, if it has been only mentioned before in other people&#039;s topics or if you make reference to the fact that it is a known issue you are addressing with new ideas... but that doesn&#039;t excuse you from the list :P&lt;br /&gt;
&lt;br /&gt;
=The Topics=&lt;br /&gt;
&#039;&#039;&#039;Alphabetical List of Generic Topics with brief discussion and list of topics posted on these subjects for quick reference:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==OTA Style Music==&lt;br /&gt;
Requests or Suggestions that the engine include music playback, especially music that changes depending on what kind of action is happening in game.  Associated with requests for a sound track of any kind or asking for a link to get the orriginal TA Soundtrack in MP3 format.&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2856 Soundtracks.]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2786&amp;amp;highlight=music Original TA music]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2640&amp;amp;highlight=music TA Style music]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2363&amp;amp;highlight=music Music Player code]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2348&amp;amp;highlight=music Is original music needed?]&lt;br /&gt;
&lt;br /&gt;
==Raise/Lower Terrain==&lt;br /&gt;
People suggesting or requesting some kind of better control over deformable terrain or some king of terraforming unit.  Often associated with people posting pictures of cool effects they have achieved through the use of the current &amp;quot;blow a big hole and then restore to the desired surface&amp;quot; method.&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2838 Raise/Lower Terrain?]&lt;br /&gt;
&lt;br /&gt;
==Camera Angles==&lt;br /&gt;
suggesting changes to current camera angles, popularly related to the inability of the rotatable and FPS cams to go outside the map boundries, making it difficult to see units close to the edges of the map.&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2821 The #2 item on my wishlist]&lt;br /&gt;
&lt;br /&gt;
Also, there&#039;s the problem of the world stopping at a rather steep drop.&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2789 What is good, and what is bad]&lt;br /&gt;
&lt;br /&gt;
==The New GUI==&lt;br /&gt;
Anything related to how bad the current GUI is, suggestions for features that already exists but users do not know about because they are barely documented, or simply threads asking for or about the new GUI.&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2801 New GUI questions]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=1994 New GUI testing]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?p=35418 Wheres the new gui?]&lt;br /&gt;
&lt;br /&gt;
==Multiple transport load sharing via cable hooks==&lt;br /&gt;
Seriously WTF, this isn&#039;t even a good idea, why does this keep coming up?&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2621 Transports]&lt;br /&gt;
&lt;br /&gt;
==Mobile factories==&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2017 Rise and walk, or how my factorie grew legs (and wings too).]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2809#38534 &amp;quot;Build pads&amp;quot; for units]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?p=35072#35072 air based factories for FF]&lt;br /&gt;
&lt;br /&gt;
==Rotatable buildings==&lt;br /&gt;
&lt;br /&gt;
Partly, Spring&#039;s pathfinding and collision assumes buildings align themselves with the map; no-one&#039;s made any detailed claims about how much code this would affect, other than &#039;lots&#039;.&lt;br /&gt;
&lt;br /&gt;
Even if you stick with 90 degree rotations, there&#039;s still figuring out the controls for rotating a building.&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2820 The #1 item on my wishlist]&lt;/div&gt;</summary>
		<author><name>Krudat</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Monthly_Topic_Rotation&amp;diff=14685</id>
		<title>Monthly Topic Rotation</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Monthly_Topic_Rotation&amp;diff=14685"/>
		<updated>2005-11-14T22:29:32Z</updated>

		<summary type="html">&lt;p&gt;Krudat: /* Multiple transport load sharing via cable hooks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This Term, coined by Gnome, refers to the fact that people keep coming into the forums and posting messages on the same subject.  It seems that as Spring becomes more popular, more n00bz keep coming up with the same ideas and questions... think of this as the &amp;quot;shut up because you are stupid FAQ&amp;quot; as apposed to the real [[FAQ]].&lt;br /&gt;
&lt;br /&gt;
Now in some situations it&#039;s okay to repost on the same topic, if it has been only mentioned before in other people&#039;s topics or if you make reference to the fact that it is a known issue you are addressing with new ideas... but that doesn&#039;t excuse you from the list :P&lt;br /&gt;
&lt;br /&gt;
=The Topics=&lt;br /&gt;
&#039;&#039;&#039;Alphabetical List of Generic Topics with brief discussion and list of topics posted on these subjects for quick reference:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==OTA Style Music==&lt;br /&gt;
Requests or Suggestions that the engine include music playback, especially music that changes depending on what kind of action is happening in game.  Associated with requests for a sound track of any kind or asking for a link to get the orriginal TA Soundtrack in MP3 format.&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2856 Soundtracks.]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2786&amp;amp;highlight=music Original TA music]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2640&amp;amp;highlight=music TA Style music]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2363&amp;amp;highlight=music Music Player code]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2348&amp;amp;highlight=music Is original music needed?]&lt;br /&gt;
&lt;br /&gt;
==Raise/Lower Terrain==&lt;br /&gt;
People suggesting or requesting some kind of better control over deformable terrain or some king of terraforming unit.  Often associated with people posting pictures of cool effects they have achieved through the use of the current &amp;quot;blow a big hole and then restore to the desired surface&amp;quot; method.&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2838 Raise/Lower Terrain?]&lt;br /&gt;
&lt;br /&gt;
==Camera Angles==&lt;br /&gt;
suggesting changes to current camera angles, popularly related to the inability of the rotatable and FPS cams to go outside the map boundries, making it difficult to see units close to the edges of the map.&lt;br /&gt;
&lt;br /&gt;
Also, there&#039;s the problem of the world stopping at a rather steep drop.&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2789 What is good, and what is bad]&lt;br /&gt;
&lt;br /&gt;
==The New GUI==&lt;br /&gt;
Anything related to how bad the current GUI is, suggestions for features that already exists but users do not know about because they are barely documented, or simply threads asking for or about the new GUI.&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2801 New GUI questions]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=1994 New GUI testing]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?p=35418 Wheres the new gui?]&lt;br /&gt;
&lt;br /&gt;
==Multiple transport load sharing via cable hooks==&lt;br /&gt;
Seriously WTF, this isn&#039;t even a good idea, why does this keep coming up?&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2621 Transports]&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Welding&amp;quot; units==&lt;br /&gt;
This *is* a good idea, but no-one&#039;s quite gotten around to it... &lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2017 Rise and walk, or how my factorie grew legs (and wings too).]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2809#38534 &amp;quot;Build pads&amp;quot; for units]&lt;br /&gt;
*(There&#039;s a third post, but I can&#039;t remember where it is.)&lt;/div&gt;</summary>
		<author><name>Krudat</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Monthly_Topic_Rotation&amp;diff=14684</id>
		<title>Monthly Topic Rotation</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Monthly_Topic_Rotation&amp;diff=14684"/>
		<updated>2005-11-14T22:28:15Z</updated>

		<summary type="html">&lt;p&gt;Krudat: /* The New GUI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This Term, coined by Gnome, refers to the fact that people keep coming into the forums and posting messages on the same subject.  It seems that as Spring becomes more popular, more n00bz keep coming up with the same ideas and questions... think of this as the &amp;quot;shut up because you are stupid FAQ&amp;quot; as apposed to the real [[FAQ]].&lt;br /&gt;
&lt;br /&gt;
Now in some situations it&#039;s okay to repost on the same topic, if it has been only mentioned before in other people&#039;s topics or if you make reference to the fact that it is a known issue you are addressing with new ideas... but that doesn&#039;t excuse you from the list :P&lt;br /&gt;
&lt;br /&gt;
=The Topics=&lt;br /&gt;
&#039;&#039;&#039;Alphabetical List of Generic Topics with brief discussion and list of topics posted on these subjects for quick reference:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==OTA Style Music==&lt;br /&gt;
Requests or Suggestions that the engine include music playback, especially music that changes depending on what kind of action is happening in game.  Associated with requests for a sound track of any kind or asking for a link to get the orriginal TA Soundtrack in MP3 format.&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2856 Soundtracks.]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2786&amp;amp;highlight=music Original TA music]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2640&amp;amp;highlight=music TA Style music]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2363&amp;amp;highlight=music Music Player code]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2348&amp;amp;highlight=music Is original music needed?]&lt;br /&gt;
&lt;br /&gt;
==Raise/Lower Terrain==&lt;br /&gt;
People suggesting or requesting some kind of better control over deformable terrain or some king of terraforming unit.  Often associated with people posting pictures of cool effects they have achieved through the use of the current &amp;quot;blow a big hole and then restore to the desired surface&amp;quot; method.&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2838 Raise/Lower Terrain?]&lt;br /&gt;
&lt;br /&gt;
==Camera Angles==&lt;br /&gt;
suggesting changes to current camera angles, popularly related to the inability of the rotatable and FPS cams to go outside the map boundries, making it difficult to see units close to the edges of the map.&lt;br /&gt;
&lt;br /&gt;
Also, there&#039;s the problem of the world stopping at a rather steep drop.&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2789 What is good, and what is bad]&lt;br /&gt;
&lt;br /&gt;
==The New GUI==&lt;br /&gt;
Anything related to how bad the current GUI is, suggestions for features that already exists but users do not know about because they are barely documented, or simply threads asking for or about the new GUI.&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2801 New GUI questions]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=1994 New GUI testing]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?p=35418 Wheres the new gui?]&lt;br /&gt;
&lt;br /&gt;
==Multiple transport load sharing via cable hooks==&lt;br /&gt;
Seriously WTF, this isn&#039;t even a good idea, why does this keep coming up?&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Welding&amp;quot; units==&lt;br /&gt;
This *is* a good idea, but no-one&#039;s quite gotten around to it... &lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2017 Rise and walk, or how my factorie grew legs (and wings too).]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2809#38534 &amp;quot;Build pads&amp;quot; for units]&lt;br /&gt;
*(There&#039;s a third post, but I can&#039;t remember where it is.)&lt;/div&gt;</summary>
		<author><name>Krudat</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Monthly_Topic_Rotation&amp;diff=14683</id>
		<title>Monthly Topic Rotation</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Monthly_Topic_Rotation&amp;diff=14683"/>
		<updated>2005-11-14T21:27:47Z</updated>

		<summary type="html">&lt;p&gt;Krudat: Some more indexing. =)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This Term, coined by Gnome, refers to the fact that people keep coming into the forums and posting messages on the same subject.  It seems that as Spring becomes more popular, more n00bz keep coming up with the same ideas and questions... think of this as the &amp;quot;shut up because you are stupid FAQ&amp;quot; as apposed to the real [[FAQ]].&lt;br /&gt;
&lt;br /&gt;
Now in some situations it&#039;s okay to repost on the same topic, if it has been only mentioned before in other people&#039;s topics or if you make reference to the fact that it is a known issue you are addressing with new ideas... but that doesn&#039;t excuse you from the list :P&lt;br /&gt;
&lt;br /&gt;
=The Topics=&lt;br /&gt;
&#039;&#039;&#039;Alphabetical List of Generic Topics with brief discussion and list of topics posted on these subjects for quick reference:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==OTA Style Music==&lt;br /&gt;
Requests or Suggestions that the engine include music playback, especially music that changes depending on what kind of action is happening in game.  Associated with requests for a sound track of any kind or asking for a link to get the orriginal TA Soundtrack in MP3 format.&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2856 Soundtracks.]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2786&amp;amp;highlight=music Original TA music]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2640&amp;amp;highlight=music TA Style music]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2363&amp;amp;highlight=music Music Player code]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2348&amp;amp;highlight=music Is original music needed?]&lt;br /&gt;
&lt;br /&gt;
==Raise/Lower Terrain==&lt;br /&gt;
People suggesting or requesting some kind of better control over deformable terrain or some king of terraforming unit.  Often associated with people posting pictures of cool effects they have achieved through the use of the current &amp;quot;blow a big hole and then restore to the desired surface&amp;quot; method.&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2838 Raise/Lower Terrain?]&lt;br /&gt;
&lt;br /&gt;
==Camera Angles==&lt;br /&gt;
suggesting changes to current camera angles, popularly related to the inability of the rotatable and FPS cams to go outside the map boundries, making it difficult to see units close to the edges of the map.&lt;br /&gt;
&lt;br /&gt;
Also, there&#039;s the problem of the world stopping at a rather steep drop.&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2789 What is good, and what is bad]&lt;br /&gt;
&lt;br /&gt;
==The New GUI==&lt;br /&gt;
Anything related to how bad the current GUI is, suggestions for features that already exists but users do not know about because they are barely documented, or simply threads asking for or about the new GUI.&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2801 New GUI questions]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=1994 New GUI testing]&lt;br /&gt;
&lt;br /&gt;
==Multiple transport load sharing via cable hooks==&lt;br /&gt;
Seriously WTF, this isn&#039;t even a good idea, why does this keep coming up?&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Welding&amp;quot; units==&lt;br /&gt;
This *is* a good idea, but no-one&#039;s quite gotten around to it... &lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2017 Rise and walk, or how my factorie grew legs (and wings too).]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2809#38534 &amp;quot;Build pads&amp;quot; for units]&lt;br /&gt;
*(There&#039;s a third post, but I can&#039;t remember where it is.)&lt;/div&gt;</summary>
		<author><name>Krudat</name></author>
	</entry>
</feed>