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