Difference between revisions of "Source:NetHack 3.6.0/include/timeout.h"

From NetHackWiki
Jump to navigation Jump to search
(Created page with "__MIXEDSYNTAXHIGHLIGHT__ Below is the full text to '''timeout.h''' from the source code of NetHack 3.6.0. To link to a particular line, write...")
 
Line 1: Line 1:
__MIXEDSYNTAXHIGHLIGHT__
+
__MIXEDSYNTAXHIGHLIGHT__
 
Below is the full text to '''timeout.h''' from the [[NetHack 3.6.0 source code|source code]] of [[NetHack 3.6.0]]. To link to a particular line, write [[Source:NetHack 3.6.0/include/timeout.h#line123|<nowiki>[[Source:NetHack 3.6.0/include/timeout.h#line123]]</nowiki>]], for example.
 
Below is the full text to '''timeout.h''' from the [[NetHack 3.6.0 source code|source code]] of [[NetHack 3.6.0]]. To link to a particular line, write [[Source:NetHack 3.6.0/include/timeout.h#line123|<nowiki>[[Source:NetHack 3.6.0/include/timeout.h#line123]]</nowiki>]], for example.
  
 
{{NGPL}}
 
{{NGPL}}
  <span id="line1">1.   /* NetHack 3.6 timeout.h $NHDT-Date: 1432512775 2015/05/25 00:12:55 $  $NHDT-Branch: master $:$NHDT-Revision: 1.10 $ */</span>
+
  <span id="line1">1. /* NetHack 3.6 timeout.h $NHDT-Date: 1432512775 2015/05/25 00:12:55 $  $NHDT-Branch: master $:$NHDT-Revision: 1.10 $ */</span>
  <span id="line2">2.   /* Copyright 1994, Dean Luick   */</span>
+
  <span id="line2">2. /* Copyright 1994, Dean Luick   */</span>
  <span id="line3">3.   /* NetHack may be freely redistributed.  See license for details. */</span>
+
  <span id="line3">3. /* NetHack may be freely redistributed.  See license for details. */</span>
  <span id="line4">4.   </span>
+
  <span id="line4">4. </span>
  <span id="line5">5.   #ifndef TIMEOUT_H</span>
+
  <span id="line5">5. #ifndef TIMEOUT_H</span>
  <span id="line6">6.   #define TIMEOUT_H</span>
+
  <span id="line6">6. #define TIMEOUT_H</span>
  <span id="line7">7.   </span>
+
  <span id="line7">7. </span>
  <span id="line8">8.   /* generic timeout function */</span>
+
  <span id="line8">8. /* generic timeout function */</span>
  <span id="line9">9.   typedef void FDECL((*timeout_proc), (ANY_P *, long));</span>
+
  <span id="line9">9. typedef void FDECL((*timeout_proc), (ANY_P *, long));</span>
  <span id="line10">10.   </span>
+
  <span id="line10">10. </span>
  <span id="line11">11.   /* kind of timer */</span>
+
  <span id="line11">11. /* kind of timer */</span>
  <span id="line12">12.   #define TIMER_LEVEL 0  /* event specific to level */</span>
+
  <span id="line12">12. #define TIMER_LEVEL 0  /* event specific to level */</span>
  <span id="line13">13.   #define TIMER_GLOBAL 1  /* event follows current play */</span>
+
  <span id="line13">13. #define TIMER_GLOBAL 1  /* event follows current play */</span>
  <span id="line14">14.   #define TIMER_OBJECT 2  /* event follows a object */</span>
+
  <span id="line14">14. #define TIMER_OBJECT 2  /* event follows a object */</span>
  <span id="line15">15.   #define TIMER_MONSTER 3 /* event follows a monster */</span>
+
  <span id="line15">15. #define TIMER_MONSTER 3 /* event follows a monster */</span>
  <span id="line16">16.   </span>
+
  <span id="line16">16. </span>
  <span id="line17">17.   /* save/restore timer ranges */</span>
+
  <span id="line17">17. /* save/restore timer ranges */</span>
  <span id="line18">18.   #define RANGE_LEVEL 0  /* save/restore timers staying on level */</span>
+
  <span id="line18">18. #define RANGE_LEVEL 0  /* save/restore timers staying on level */</span>
  <span id="line19">19.   #define RANGE_GLOBAL 1 /* save/restore timers following global play */</span>
+
  <span id="line19">19. #define RANGE_GLOBAL 1 /* save/restore timers following global play */</span>
  <span id="line20">20.   </span>
+
  <span id="line20">20. </span>
  <span id="line21">21.   /*</span>
+
  <span id="line21">21. /*</span>
  <span id="line22">22.   * Timeout functions.  Add a define here, then put it in the table</span>
+
  <span id="line22">22.  * Timeout functions.  Add a define here, then put it in the table</span>
  <span id="line23">23.   * in timeout.c.  "One more level of indirection will fix everything."</span>
+
  <span id="line23">23.  * in timeout.c.  "One more level of indirection will fix everything."</span>
  <span id="line24">24.   */</span>
+
  <span id="line24">24.  */</span>
  <span id="line25">25.   #define ROT_ORGANIC 0 /* for buried organics */</span>
+
  <span id="line25">25. #define ROT_ORGANIC 0 /* for buried organics */</span>
  <span id="line26">26.   #define ROT_CORPSE 1</span>
+
  <span id="line26">26. #define ROT_CORPSE 1</span>
  <span id="line27">27.   #define REVIVE_MON 2</span>
+
  <span id="line27">27. #define REVIVE_MON 2</span>
  <span id="line28">28.   #define BURN_OBJECT 3</span>
+
  <span id="line28">28. #define BURN_OBJECT 3</span>
  <span id="line29">29.   #define HATCH_EGG 4</span>
+
  <span id="line29">29. #define HATCH_EGG 4</span>
  <span id="line30">30.   #define FIG_TRANSFORM 5</span>
+
  <span id="line30">30. #define FIG_TRANSFORM 5</span>
  <span id="line31">31.   #define MELT_ICE_AWAY 6</span>
+
  <span id="line31">31. #define MELT_ICE_AWAY 6</span>
  <span id="line32">32.   #define NUM_TIME_FUNCS 7</span>
+
  <span id="line32">32. #define NUM_TIME_FUNCS 7</span>
  <span id="line33">33.   </span>
+
  <span id="line33">33. </span>
  <span id="line34">34.   /* used in timeout.c */</span>
+
  <span id="line34">34. /* used in timeout.c */</span>
  <span id="line35">35.   typedef struct fe {</span>
+
  <span id="line35">35. typedef struct fe {</span>
  <span id="line36">36.       struct fe *next;          /* next item in chain */</span>
+
  <span id="line36">36.     struct fe *next;          /* next item in chain */</span>
  <span id="line37">37.       long timeout;            /* when we time out */</span>
+
  <span id="line37">37.     long timeout;            /* when we time out */</span>
  <span id="line38">38.       unsigned long tid;        /* timer ID */</span>
+
  <span id="line38">38.     unsigned long tid;        /* timer ID */</span>
  <span id="line39">39.       short kind;              /* kind of use */</span>
+
  <span id="line39">39.     short kind;              /* kind of use */</span>
  <span id="line40">40.       short func_index;        /* what to call when we time out */</span>
+
  <span id="line40">40.     short func_index;        /* what to call when we time out */</span>
  <span id="line41">41.       anything arg;            /* pointer to timeout argument */</span>
+
  <span id="line41">41.     anything arg;            /* pointer to timeout argument */</span>
  <span id="line42">42.       Bitfield(needs_fixup, 1); /* does arg need to be patched? */</span>
+
  <span id="line42">42.     Bitfield(needs_fixup, 1); /* does arg need to be patched? */</span>
  <span id="line43">43.   } timer_element;</span>
+
  <span id="line43">43. } timer_element;</span>
  <span id="line44">44.   </span>
+
  <span id="line44">44. </span>
  <span id="line45">45.   #endif /* TIMEOUT_H */</span>
+
  <span id="line45">45. #endif /* TIMEOUT_H */</span>
 
[[Category:NetHack 3.6.0 source code|include/timeout.h]]
 
[[Category:NetHack 3.6.0 source code|include/timeout.h]]

Revision as of 13:42, 15 December 2015

Below is the full text to timeout.h from the source code of NetHack 3.6.0. To link to a particular line, write [[Source:NetHack 3.6.0/include/timeout.h#line123]], for example.

The NetHack General Public License applies to screenshots, source code and other content from NetHack.

This content was modified from the original NetHack source code distribution (by splitting up NetHack content between wiki pages, and possibly further editing). See the page history for a list of who changed it, and on what dates.

 /* NetHack 3.6	timeout.h	$NHDT-Date: 1432512775 2015/05/25 00:12:55 $  $NHDT-Branch: master $:$NHDT-Revision: 1.10 $ */
 /* Copyright 1994, Dean Luick					  */
 /* NetHack may be freely redistributed.  See license for details. */
 
 #ifndef TIMEOUT_H
 #define TIMEOUT_H
 
 /* generic timeout function */
 typedef void FDECL((*timeout_proc), (ANY_P *, long));
 
 /* kind of timer */
 #define TIMER_LEVEL 0   /* event specific to level */
 #define TIMER_GLOBAL 1  /* event follows current play */
 #define TIMER_OBJECT 2  /* event follows a object */
 #define TIMER_MONSTER 3 /* event follows a monster */
 
 /* save/restore timer ranges */
 #define RANGE_LEVEL 0  /* save/restore timers staying on level */
 #define RANGE_GLOBAL 1 /* save/restore timers following global play */
 
 /*
  * Timeout functions.  Add a define here, then put it in the table
  * in timeout.c.  "One more level of indirection will fix everything."
  */
 #define ROT_ORGANIC 0 /* for buried organics */
 #define ROT_CORPSE 1
 #define REVIVE_MON 2
 #define BURN_OBJECT 3
 #define HATCH_EGG 4
 #define FIG_TRANSFORM 5
 #define MELT_ICE_AWAY 6
 #define NUM_TIME_FUNCS 7
 
 /* used in timeout.c */
 typedef struct fe {
     struct fe *next;          /* next item in chain */
     long timeout;             /* when we time out */
     unsigned long tid;        /* timer ID */
     short kind;               /* kind of use */
     short func_index;         /* what to call when we time out */
     anything arg;             /* pointer to timeout argument */
     Bitfield(needs_fixup, 1); /* does arg need to be patched? */
 } timer_element;
 
 #endif /* TIMEOUT_H */