Source:Hack 1.0/def.obj.h
Revision as of 22:08, 3 March 2008 by Kernigh bot (talk | contribs) (Hack 1.0/def.obj.h moved to Source:Hack 1.0/def.obj.h: Robot: moved page)
Below is the full text to def.obj.h from the source code of Hack 1.0. To link to a particular line, write [[Hack 1.0/def.obj.h#line123]], for example.
Warning! This is the source code from an old release. For the latest release, see Source code
Screenshots and source code from Hack are used under the CWI license.
1. /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1984. */ 2. 3. struct obj { 4. struct obj *nobj; 5. unsigned o_id; 6. unsigned o_cnt_id; /* id of container object is in */ 7. xchar ox,oy; 8. xchar odx,ody; 9. uchar otyp; 10. uchar owt; 11. unsigned quan; /* small in general but large in case of gold */ 12. schar spe; 13. char olet; 14. Bitfield(oinvis,1); 15. Bitfield(odispl,1); 16. Bitfield(known,1); /* exact nature known */ 17. Bitfield(dknown,1); /* color or text known */ 18. Bitfield(cursed,1); 19. Bitfield(unpaid,1); /* on some bill */ 20. Bitfield(rustfree,1); 21. Bitfield(onamelth,6); 22. long age; /* creation date */ 23. long owornmask; 24. #define W_ARM 01L 25. #define W_ARM2 02L 26. #define W_ARMH 04L 27. #define W_ARMS 010L 28. #define W_ARMG 020L 29. #define W_ARMOR (W_ARM | W_ARM2 | W_ARMH | W_ARMS | W_ARMG) 30. #define W_RINGL 010000L /* make W_RINGL = RING_LEFT (see uprop) */ 31. #define W_RINGR 020000L 32. #define W_RING (W_RINGL | W_RINGR) 33. #define W_WEP 01000L 34. #define W_BALL 02000L 35. #define W_CHAIN 04000L 36. long oextra[1]; 37. }; 38. 39. extern struct obj *fobj; 40. 41. #define newobj(xl) (struct obj *) alloc((unsigned)(xl) + sizeof(struct obj)) 42. #define ONAME(otmp) ((char *) otmp->oextra)