About: Source:NetHack 3.4.0/track.c   Sponge Permalink

An Entity of Type : owl:Thing, within Data Space : 134.155.108.49:8890 associated with source dataset(s)

Below is the full text to track.c from the source code of NetHack 3.4.0. To link to a particular line, write [[NetHack 3.4.0/track.c#line123]], for example. Warning! This is the source code from an old release. For the latest release, see Source code

AttributesValues
rdfs:label
  • Source:NetHack 3.4.0/track.c
rdfs:comment
  • Below is the full text to track.c from the source code of NetHack 3.4.0. To link to a particular line, write [[NetHack 3.4.0/track.c#line123]], for example. Warning! This is the source code from an old release. For the latest release, see Source code
dcterms:subject
dbkwik:nethack/pro...iPageUsesTemplate
abstract
  • Below is the full text to track.c from the source code of NetHack 3.4.0. To link to a particular line, write [[NetHack 3.4.0/track.c#line123]], for example. Warning! This is the source code from an old release. For the latest release, see Source code 1. /* SCCS Id: @(#)track.c 3.4 87/08/08 */ 2. /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ 3. /* NetHack may be freely redistributed. See license for details. */ 4. /* track.c - version 1.0.2 */ 5. 6. #include "hack.h" 7. 8. #define UTSZ 50 9. 10. STATIC_VAR NEARDATA int utcnt, utpnt; 11. STATIC_VAR NEARDATA coord utrack[UTSZ]; 12. 13. #ifdef OVLB 14. 15. void 16. initrack() 17. { 18. utcnt = utpnt = 0; 19. } 20. 21. #endif /* OVLB */ 22. #ifdef OVL1 23. 24. /* add to track */ 25. void 26. settrack() 27. { 28. if(utcnt < UTSZ) utcnt++; 29. if(utpnt == UTSZ) utpnt = 0; 30. utrack[utpnt].x = u.ux; 31. utrack[utpnt].y = u.uy; 32. utpnt++; 33. } 34. 35. #endif /* OVL1 */ 36. #ifdef OVL0 37. 38. coord * 39. gettrack(x, y) 40. register int x, y; 41. { 42. register int cnt, ndist; 43. register coord *tc; 44. cnt = utcnt; 45. for(tc = &utrack[utpnt]; cnt--; ){ 46. if(tc == utrack) tc = &utrack[UTSZ-1]; 47. else tc--; 48. ndist = distmin(x,y,tc->x,tc->y); 49. 50. /* if far away, skip track entries til we're closer */ 51. if(ndist > 2) { 52. ndist -= 2; /* be careful due to extra decrement at top of loop */ 53. cnt -= ndist; 54. if(cnt <= 0) 55. return (coord *) 0; /* too far away, no matches possible */ 56. if(tc < &utrack[ndist]) 57. tc += (UTSZ-ndist); 58. else 59. tc -= ndist; 60. } else if(ndist <= 1) 61. return(ndist ? tc : 0); 62. } 63. return (coord *)0; 64. } 65. 66. #endif /* OVL0 */ 67. 68. /*track.c*/
Alternative Linked Data Views: ODE     Raw Data in: CXML | CSV | RDF ( N-Triples N3/Turtle JSON XML ) | OData ( Atom JSON ) | Microdata ( JSON HTML) | JSON-LD    About   
This material is Open Knowledge   W3C Semantic Web Technology [RDF Data] Valid XHTML + RDFa
OpenLink Virtuoso version 07.20.3217, on Linux (x86_64-pc-linux-gnu), Standard Edition
Data on this page belongs to its respective rights holders.
Virtuoso Faceted Browser Copyright © 2009-2012 OpenLink Software