<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://nethackwiki.com/index.php?action=history&amp;feed=atom&amp;title=Source%3ASLASH%27EM_0.0.7E7F2%2Fvision.h</id>
	<title>Source:SLASH'EM 0.0.7E7F2/vision.h - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://nethackwiki.com/index.php?action=history&amp;feed=atom&amp;title=Source%3ASLASH%27EM_0.0.7E7F2%2Fvision.h"/>
	<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Source:SLASH%27EM_0.0.7E7F2/vision.h&amp;action=history"/>
	<updated>2026-06-04T07:26:33Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.32.5</generator>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Source:SLASH%27EM_0.0.7E7F2/vision.h&amp;diff=172279&amp;oldid=prev</id>
		<title>Furey: Change particular-line instructions to our Source: filename. Fix wording on &quot;source code for vanilla nethack&quot;.</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Source:SLASH%27EM_0.0.7E7F2/vision.h&amp;diff=172279&amp;oldid=prev"/>
		<updated>2024-06-27T16:02:32Z</updated>

		<summary type="html">&lt;p&gt;Change particular-line instructions to our Source: filename. Fix wording on &amp;quot;source code for vanilla nethack&amp;quot;.&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 16:02, 27 June 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Below is the full text to '''vision.h''' from the [[SLASH'EM 0.0.7E7F2 source code|source code]] of [[SLASH'EM 0.0.7E7F2]]. To link to a particular line, write [[SLASH'EM 0.0.7E7F2/vision.h#line123|&amp;lt;nowiki&amp;gt;[[SLASH'EM 0.0.7E7F2/vision.h#line123]]&amp;lt;/nowiki&amp;gt;]], for example.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Below is the full text to '''vision.h''' from the [[SLASH'EM 0.0.7E7F2 source code|source code]] of [[SLASH'EM 0.0.7E7F2]]. To link to a particular line, write [[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Source:&lt;/ins&gt;SLASH'EM 0.0.7E7F2/vision.h#line123|&amp;lt;nowiki&amp;gt;[[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Source:&lt;/ins&gt;SLASH'EM 0.0.7E7F2/vision.h#line123]]&amp;lt;/nowiki&amp;gt;]], for example.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;The latest source &lt;/del&gt;code for vanilla NetHack is at [[Source code]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Source &lt;/ins&gt;code for vanilla NetHack is at [[Source code]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Furey</name></author>
		
	</entry>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Source:SLASH%27EM_0.0.7E7F2/vision.h&amp;diff=30132&amp;oldid=prev</id>
		<title>Kernigh bot: SLASH'EM 0.0.7E7F2/vision.h moved to Source:SLASH'EM 0.0.7E7F2/vision.h: Robot: moved page</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Source:SLASH%27EM_0.0.7E7F2/vision.h&amp;diff=30132&amp;oldid=prev"/>
		<updated>2008-03-07T18:33:02Z</updated>

		<summary type="html">&lt;p&gt;&lt;a href=&quot;/index.php?title=SLASH%27EM_0.0.7E7F2/vision.h&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;SLASH&amp;#039;EM 0.0.7E7F2/vision.h (page does not exist)&quot;&gt;SLASH&amp;#039;EM 0.0.7E7F2/vision.h&lt;/a&gt; moved to &lt;a href=&quot;/wiki/Source:SLASH%27EM_0.0.7E7F2/vision.h&quot; title=&quot;Source:SLASH&amp;#039;EM 0.0.7E7F2/vision.h&quot;&gt;Source:SLASH&amp;#039;EM 0.0.7E7F2/vision.h&lt;/a&gt;: Robot: moved page&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 18:33, 7 March 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Kernigh bot</name></author>
		
	</entry>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Source:SLASH%27EM_0.0.7E7F2/vision.h&amp;diff=13354&amp;oldid=prev</id>
		<title>Jaytbot: Automated source code upload</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Source:SLASH%27EM_0.0.7E7F2/vision.h&amp;diff=13354&amp;oldid=prev"/>
		<updated>2006-10-02T20:17:30Z</updated>

		<summary type="html">&lt;p&gt;Automated source code upload&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Below is the full text to '''vision.h''' from the [[SLASH'EM 0.0.7E7F2 source code|source code]] of [[SLASH'EM 0.0.7E7F2]]. To link to a particular line, write [[SLASH'EM 0.0.7E7F2/vision.h#line123|&amp;lt;nowiki&amp;gt;[[SLASH'EM 0.0.7E7F2/vision.h#line123]]&amp;lt;/nowiki&amp;gt;]], for example.&lt;br /&gt;
&lt;br /&gt;
The latest source code for vanilla NetHack is at [[Source code]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{NGPL}}&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line1&amp;quot;&amp;gt;1.    /*	SCCS Id: @(#)vision.h	3.4	1995/01/26	*/&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line2&amp;quot;&amp;gt;2.    /* Copyright (c) Dean Luick, with acknowledgements to Dave Cohrs, 1990. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line3&amp;quot;&amp;gt;3.    /* NetHack may be freely redistributed.  See license for details.	*/&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line4&amp;quot;&amp;gt;4.    &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line5&amp;quot;&amp;gt;5.    #ifndef VISION_H&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line6&amp;quot;&amp;gt;6.    #define VISION_H&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line7&amp;quot;&amp;gt;7.    &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line8&amp;quot;&amp;gt;8.    #if 0	/* (moved to decl.h) */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line9&amp;quot;&amp;gt;9.    extern boolean vision_full_recalc;	/* TRUE if need vision recalc */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line10&amp;quot;&amp;gt;10.   extern char **viz_array;		/* could see/in sight row pointers */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line11&amp;quot;&amp;gt;11.   extern char *viz_rmin;			/* min could see indices */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line12&amp;quot;&amp;gt;12.   extern char *viz_rmax;			/* max could see indices */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line13&amp;quot;&amp;gt;13.   #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line14&amp;quot;&amp;gt;14.   #define COULD_SEE 0x1		/* location could be seen, if it were lit */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line15&amp;quot;&amp;gt;15.   #define IN_SIGHT  0x2		/* location can be seen */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line16&amp;quot;&amp;gt;16.   #define TEMP_LIT  0x4		/* location is temporarily lit */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line17&amp;quot;&amp;gt;17.   &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line18&amp;quot;&amp;gt;18.   /*&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line19&amp;quot;&amp;gt;19.    * Light source sources&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line20&amp;quot;&amp;gt;20.    */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line21&amp;quot;&amp;gt;21.   #define LS_OBJECT 0&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line22&amp;quot;&amp;gt;22.   #define LS_MONSTER 1&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line23&amp;quot;&amp;gt;23.   /* WAC Added a new light source temp type&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line24&amp;quot;&amp;gt;24.    * This is meant to be called within a function and destroyed before&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line25&amp;quot;&amp;gt;25.    * control is returned to user.  They are NOT saved.  Used for light&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line26&amp;quot;&amp;gt;26.    * sourcing spells, explosions, etc.&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line27&amp;quot;&amp;gt;27.    */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line28&amp;quot;&amp;gt;28.   #define LS_TEMP 2&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line29&amp;quot;&amp;gt;29.   /*&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line30&amp;quot;&amp;gt;30.    *  cansee()	- Returns true if the hero can see the location.&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line31&amp;quot;&amp;gt;31.    *&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line32&amp;quot;&amp;gt;32.    *  couldsee()	- Returns true if the hero has a clear line of sight to&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line33&amp;quot;&amp;gt;33.    *		  the location.&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line34&amp;quot;&amp;gt;34.    */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line35&amp;quot;&amp;gt;35.   #define cansee(x,y)	(viz_array[y][x] &amp;amp; IN_SIGHT)&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line36&amp;quot;&amp;gt;36.   #define couldsee(x,y)	(viz_array[y][x] &amp;amp; COULD_SEE)&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line37&amp;quot;&amp;gt;37.   #define templit(x,y)	(viz_array[y][x] &amp;amp; TEMP_LIT)&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line38&amp;quot;&amp;gt;38.   &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line39&amp;quot;&amp;gt;39.   /*&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line40&amp;quot;&amp;gt;40.    *  The following assume the monster is not blind.&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line41&amp;quot;&amp;gt;41.    *&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line42&amp;quot;&amp;gt;42.    *  m_cansee()	- Returns true if the monster can see the given location.&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line43&amp;quot;&amp;gt;43.    *&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line44&amp;quot;&amp;gt;44.    *  m_canseeu() - Returns true if the monster could see the hero.  Assumes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line45&amp;quot;&amp;gt;45.    *		  that if the hero has a clear line of sight to the monster's&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line46&amp;quot;&amp;gt;46.    *		  location and the hero is visible, then monster can see the&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line47&amp;quot;&amp;gt;47.    *		  hero.&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line48&amp;quot;&amp;gt;48.    */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line49&amp;quot;&amp;gt;49.   #define m_cansee(mtmp,x2,y2)	clear_path((mtmp)-&amp;gt;mx,(mtmp)-&amp;gt;my,(x2),(y2))&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line50&amp;quot;&amp;gt;50.   &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line51&amp;quot;&amp;gt;51.   #define m_canseeu(m)	((!Invis || perceives((m)-&amp;gt;data)) &amp;amp;&amp;amp; \&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line52&amp;quot;&amp;gt;52.   			  !(Underwater || u.uburied || (m)-&amp;gt;mburied) ? \&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line53&amp;quot;&amp;gt;53.   			     couldsee((m)-&amp;gt;mx,(m)-&amp;gt;my) : 0)&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line54&amp;quot;&amp;gt;54.   &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line55&amp;quot;&amp;gt;55.   /*&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line56&amp;quot;&amp;gt;56.    *  Circle information&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line57&amp;quot;&amp;gt;57.    */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line58&amp;quot;&amp;gt;58.   #define MAX_RADIUS 15	/* this is in points from the source */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line59&amp;quot;&amp;gt;59.   &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line60&amp;quot;&amp;gt;60.   /* Use this macro to get a list of distances of the edges (see vision.c). */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line61&amp;quot;&amp;gt;61.   #define circle_ptr(z) (&amp;amp;circle_data[(int)circle_start[z]])&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line62&amp;quot;&amp;gt;62.   &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line63&amp;quot;&amp;gt;63.   #endif /* VISION_H */&amp;lt;/span&amp;gt;&lt;br /&gt;
[[Category:SLASH'EM 0.0.7E7F2 source code|vision.h]]&lt;/div&gt;</summary>
		<author><name>Jaytbot</name></author>
		
	</entry>
</feed>