File: PathFree.xml

package info (click to toggle)
openclonk 8.1-4
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 169,520 kB
  • sloc: cpp: 180,479; ansic: 108,988; xml: 31,371; python: 1,223; php: 767; makefile: 145; sh: 101; javascript: 34
file content (57 lines) | stat: -rw-r--r-- 2,020 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE funcs
  SYSTEM '../../../clonk.dtd'>
<?xml-stylesheet type="text/xsl" href="../../../clonk.xsl"?>
<funcs>
  <func>
    <title>PathFree</title>
    <category>Landscape</category>
    <version>5.1 OC</version>
    <syntax>
      <rtype>bool</rtype>
      <params>
        <param>
          <type>int</type>
          <name>x1</name>
          <desc>X coordinate of the start point</desc>
        </param>
        <param>
          <type>int</type>
          <name>y1</name>
          <desc>Y coordinate of the start point</desc>
        </param>
        <param>
          <type>int</type>
          <name>x2</name>
          <desc>X coordinate of the end point</desc>
        </param>
        <param>
          <type>int</type>
          <name>y2</name>
          <desc>Y coordinate of the end point</desc>
        </param>
      </params>
    </syntax>
    <desc>Determines whether the path from the start point to the end point is free, meaning that no solid material is intersected by a directly line between those points.</desc>
    <remark>All coordinates are global, even in local calls.</remark>
    <examples>
      <example>
        <code>// for all living beings in a circle with a radius of 500 around it
for(var living in <funclink>FindObjects</funclink>(<funclink>Find_OCF</funclink>(<funclink>OCF_Alive</funclink>),<funclink>Find_Distance</funclink>(500)))
{
	// incinerate if the path is free
	if(PathFree(GetX(),GetY(),GetX(living),GetY(living)))
		living-&gt;<funclink>Incinerate</funclink>();
}</code>
        <text>Eye of the beholder: Incinerates all living beings in a distance of maximum 500 pixels and if the beholder has a line-of-sight to it.</text>
      </example>
    </examples>
    <related>
      <funclink>GetMaterial</funclink>
      <funclink>GBackSolid</funclink>
      <funclink>GetPathLength</funclink>
      <funclink>PathFree2</funclink>
    </related>
  </func>
  <author>Sven2</author><date>2002-08</date>
</funcs>