Difference between revisions of "Source:NetHack 3.4.3/include/extern.h"
Jump to navigation
Jump to search
(Automated source code upload) |
Kernigh bot (talk | contribs) m (Extern.h moved to Source:Extern.h: Robot: moved page) |
(No difference)
|
Revision as of 21:57, 3 March 2008
Below is the full text to include/extern.h from NetHack 3.4.3. To link to a particular line, write [[extern.h#line123]], for example.
1. /* SCCS Id: @(#)extern.h 3.4 2003/03/10 */ 2. /* Copyright (c) Steve Creps, 1988. */ 3. /* NetHack may be freely redistributed. See license for details. */ 4.
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.
5. #ifndef EXTERN_H 6. #define EXTERN_H 7. 8. #define E extern 9. 10. /* ### alloc.c ### */ 11. 12. #if 0 13. E long *FDECL(alloc, (unsigned int)); 14. #endif 15. E char *FDECL(fmt_ptr, (const genericptr,char *)); 16. 17. /* This next pre-processor directive covers almost the entire file, 18. * interrupted only occasionally to pick up specific functions as needed. */ 19. #if !defined(MAKEDEFS_C) && !defined(LEV_LEX_C) 20. 21. /* ### allmain.c ### */ 22. 23. E void NDECL(moveloop); 24. E void NDECL(stop_occupation); 25. E void NDECL(display_gamewindows); 26. E void NDECL(newgame); 27. E void FDECL(welcome, (BOOLEAN_P)); 28. 29. /* ### apply.c ### */ 30. 31. E int NDECL(doapply); 32. E int NDECL(dorub); 33. E int NDECL(dojump); 34. E int FDECL(jump, (int)); 35. E int NDECL(number_leashed); 36. E void FDECL(o_unleash, (struct obj *)); 37. E void FDECL(m_unleash, (struct monst *,BOOLEAN_P)); 38. E void NDECL(unleash_all); 39. E boolean NDECL(next_to_u); 40. E struct obj *FDECL(get_mleash, (struct monst *)); 41. E void FDECL(check_leash, (XCHAR_P,XCHAR_P)); 42. E boolean FDECL(um_dist, (XCHAR_P,XCHAR_P,XCHAR_P)); 43. E boolean FDECL(snuff_candle, (struct obj *)); 44. E boolean FDECL(snuff_lit, (struct obj *)); 45. E boolean FDECL(catch_lit, (struct obj *)); 46. E void FDECL(use_unicorn_horn, (struct obj *)); 47. E boolean FDECL(tinnable, (struct obj *)); 48. E void NDECL(reset_trapset); 49. E void FDECL(fig_transform, (genericptr_t, long)); 50. E int FDECL(unfixable_trouble_count,(BOOLEAN_P)); 51. 52. /* ### artifact.c ### */ 53. 54. E void NDECL(init_artifacts); 55. E void FDECL(save_artifacts, (int)); 56. E void FDECL(restore_artifacts, (int)); 57. E const char *FDECL(artiname, (int)); 58. E struct obj *FDECL(mk_artifact, (struct obj *,ALIGNTYP_P)); 59. E const char *FDECL(artifact_name, (const char *,short *)); 60. E boolean FDECL(exist_artifact, (int,const char *)); 61. E void FDECL(artifact_exists, (struct obj *,const char *,BOOLEAN_P)); 62. E int NDECL(nartifact_exist); 63. E boolean FDECL(spec_ability, (struct obj *,unsigned long)); 64. E boolean FDECL(confers_luck, (struct obj *)); 65. E boolean FDECL(arti_reflects, (struct obj *)); 66. E boolean FDECL(restrict_name, (struct obj *,const char *)); 67. E boolean FDECL(defends, (int,struct obj *)); 68. E boolean FDECL(protects, (int,struct obj *)); 69. E void FDECL(set_artifact_intrinsic, (struct obj *,BOOLEAN_P,long)); 70. E int FDECL(touch_artifact, (struct obj *,struct monst *)); 71. E int FDECL(spec_abon, (struct obj *,struct monst *)); 72. E int FDECL(spec_dbon, (struct obj *,struct monst *,int)); 73. E void FDECL(discover_artifact, (XCHAR_P)); 74. E boolean FDECL(undiscovered_artifact, (XCHAR_P)); 75. E int FDECL(disp_artifact_discoveries, (winid)); 76. E boolean FDECL(artifact_hit, (struct monst *,struct monst *, 77. struct obj *,int *,int)); 78. E int NDECL(doinvoke); 79. E void FDECL(arti_speak, (struct obj *)); 80. E boolean FDECL(artifact_light, (struct obj *)); 81. E long FDECL(spec_m2, (struct obj *)); 82. E boolean FDECL(artifact_has_invprop, (struct obj *,UCHAR_P)); 83. E long FDECL(arti_cost, (struct obj *)); 84. 85. /* ### attrib.c ### */ 86. 87. E boolean FDECL(adjattrib, (int,int,int)); 88. E void FDECL(change_luck, (SCHAR_P)); 89. E int FDECL(stone_luck, (BOOLEAN_P)); 90. E void NDECL(set_moreluck); 91. E void FDECL(gainstr, (struct obj *,int)); 92. E void FDECL(losestr, (int)); 93. E void NDECL(restore_attrib); 94. E void FDECL(exercise, (int,BOOLEAN_P)); 95. E void NDECL(exerchk); 96. E void NDECL(reset_attribute_clock); 97. E void FDECL(init_attr, (int)); 98. E void NDECL(redist_attr); 99. E void FDECL(adjabil, (int,int)); 100. E int NDECL(newhp); 101. E schar FDECL(acurr, (int)); 102. E schar NDECL(acurrstr); 103. E void FDECL(adjalign, (int)); 104. 105. /* ### ball.c ### */ 106. 107. E void NDECL(ballfall); 108. E void NDECL(placebc); 109. E void NDECL(unplacebc); 110. E void FDECL(set_bc, (int)); 111. E void FDECL(move_bc, (int,int,XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P)); 112. E boolean FDECL(drag_ball, (XCHAR_P,XCHAR_P, 113. int *,xchar *,xchar *,xchar *,xchar *, boolean *,BOOLEAN_P)); 114. E void FDECL(drop_ball, (XCHAR_P,XCHAR_P)); 115. E void NDECL(drag_down); 116. 117. /* ### bones.c ### */ 118. 119. E boolean NDECL(can_make_bones); 120. E void FDECL(savebones, (struct obj *)); 121. E int NDECL(getbones); 122. 123. /* ### botl.c ### */ 124. 125. E int FDECL(xlev_to_rank, (int)); 126. E int FDECL(title_to_mon, (const char *,int *,int *)); 127. E void NDECL(max_rank_sz); 128. #ifdef SCORE_ON_BOTL 129. E long NDECL(botl_score); 130. #endif 131. E int FDECL(describe_level, (char *)); 132. E const char *FDECL(rank_of, (int,SHORT_P,BOOLEAN_P)); 133. E void NDECL(bot); 134. 135. /* ### cmd.c ### */ 136. 137. #ifdef USE_TRAMPOLI 138. E int NDECL(doextcmd); 139. E int NDECL(domonability); 140. E int NDECL(doprev_message); 141. E int NDECL(timed_occupation); 142. E int NDECL(wiz_attributes); 143. E int NDECL(enter_explore_mode); 144. # ifdef WIZARD 145. E int NDECL(wiz_detect); 146. E int NDECL(wiz_genesis); 147. E int NDECL(wiz_identify); 148. E int NDECL(wiz_level_tele); 149. E int NDECL(wiz_map); 150. E int NDECL(wiz_where); 151. E int NDECL(wiz_wish); 152. # endif /* WIZARD */ 153. #endif /* USE_TRAMPOLI */ 154. E void NDECL(reset_occupations); 155. E void FDECL(set_occupation, (int (*)(void),const char *,int)); 156. #ifdef REDO 157. E char NDECL(pgetchar); 158. E void FDECL(pushch, (CHAR_P)); 159. E void FDECL(savech, (CHAR_P)); 160. #endif 161. #ifdef WIZARD 162. E void NDECL(add_debug_extended_commands); 163. #endif /* WIZARD */ 164. E void FDECL(rhack, (char *)); 165. E int NDECL(doextlist); 166. E int NDECL(extcmd_via_menu); 167. E void FDECL(enlightenment, (int)); 168. E void FDECL(show_conduct, (int)); 169. E int FDECL(xytod, (SCHAR_P,SCHAR_P)); 170. E void FDECL(dtoxy, (coord *,int)); 171. E int FDECL(movecmd, (CHAR_P)); 172. E int FDECL(getdir, (const char *)); 173. E void NDECL(confdir); 174. E int FDECL(isok, (int,int)); 175. E int FDECL(get_adjacent_loc, (const char *, const char *, XCHAR_P, XCHAR_P, coord *)); 176. E const char *FDECL(click_to_cmd, (int,int,int)); 177. E char NDECL(readchar); 178. #ifdef WIZARD 179. E void NDECL(sanity_check); 180. #endif 181. E char FDECL(yn_function, (const char *, const char *, CHAR_P)); 182. 183. /* ### dbridge.c ### */ 184. 185. E boolean FDECL(is_pool, (int,int)); 186. E boolean FDECL(is_lava, (int,int)); 187. E boolean FDECL(is_ice, (int,int)); 188. E int FDECL(is_drawbridge_wall, (int,int)); 189. E boolean FDECL(is_db_wall, (int,int)); 190. E boolean FDECL(find_drawbridge, (int *,int*)); 191. E boolean FDECL(create_drawbridge, (int,int,int,BOOLEAN_P)); 192. E void FDECL(open_drawbridge, (int,int)); 193. E void FDECL(close_drawbridge, (int,int)); 194. E void FDECL(destroy_drawbridge, (int,int)); 195. 196. /* ### decl.c ### */ 197. 198. E void NDECL(decl_init); 199. 200. /* ### detect.c ### */ 201. 202. E struct obj *FDECL(o_in, (struct obj*,CHAR_P)); 203. E struct obj *FDECL(o_material, (struct obj*,unsigned)); 204. E int FDECL(gold_detect, (struct obj *)); 205. E int FDECL(food_detect, (struct obj *)); 206. E int FDECL(object_detect, (struct obj *,int)); 207. E int FDECL(monster_detect, (struct obj *,int)); 208. E int FDECL(trap_detect, (struct obj *)); 209. E const char *FDECL(level_distance, (d_level *)); 210. E void FDECL(use_crystal_ball, (struct obj *)); 211. E void NDECL(do_mapping); 212. E void NDECL(do_vicinity_map); 213. E void FDECL(cvt_sdoor_to_door, (struct rm *)); 214. #ifdef USE_TRAMPOLI 215. E void FDECL(findone, (int,int,genericptr_t)); 216. E void FDECL(openone, (int,int,genericptr_t)); 217. #endif 218. E int NDECL(findit); 219. E int NDECL(openit); 220. E void FDECL(find_trap, (struct trap *)); 221. E int FDECL(dosearch0, (int)); 222. E int NDECL(dosearch); 223. E void NDECL(sokoban_detect); 224. 225. /* ### dig.c ### */ 226. 227. E boolean NDECL(is_digging); 228. #ifdef USE_TRAMPOLI 229. E int NDECL(dig); 230. #endif 231. E int NDECL(holetime); 232. E boolean FDECL(dig_check, (struct monst *, BOOLEAN_P, int, int)); 233. E void FDECL(digactualhole, (int,int,struct monst *,int)); 234. E boolean FDECL(dighole, (BOOLEAN_P)); 235. E int FDECL(use_pick_axe, (struct obj *)); 236. E int FDECL(use_pick_axe2, (struct obj *)); 237. E boolean FDECL(mdig_tunnel, (struct monst *)); 238. E void FDECL(watch_dig, (struct monst *,XCHAR_P,XCHAR_P,BOOLEAN_P)); 239. E void NDECL(zap_dig); 240. E struct obj *FDECL(bury_an_obj, (struct obj *)); 241. E void FDECL(bury_objs, (int,int)); 242. E void FDECL(unearth_objs, (int,int)); 243. E void FDECL(rot_organic, (genericptr_t, long)); 244. E void FDECL(rot_corpse, (genericptr_t, long)); 245. #if 0 246. E void FDECL(bury_monst, (struct monst *)); 247. E void NDECL(bury_you); 248. E void NDECL(unearth_you); 249. E void NDECL(escape_tomb); 250. E void FDECL(bury_obj, (struct obj *)); 251. #endif 252. 253. /* ### display.c ### */ 254. 255. #ifdef INVISIBLE_OBJECTS 256. E struct obj * FDECL(vobj_at, (XCHAR_P,XCHAR_P)); 257. #endif /* INVISIBLE_OBJECTS */ 258. E void FDECL(magic_map_background, (XCHAR_P,XCHAR_P,int)); 259. E void FDECL(map_background, (XCHAR_P,XCHAR_P,int)); 260. E void FDECL(map_trap, (struct trap *,int)); 261. E void FDECL(map_object, (struct obj *,int)); 262. E void FDECL(map_invisible, (XCHAR_P,XCHAR_P)); 263. E void FDECL(unmap_object, (int,int)); 264. E void FDECL(map_location, (int,int,int)); 265. E void FDECL(feel_location, (XCHAR_P,XCHAR_P)); 266. E void FDECL(newsym, (int,int)); 267. E void FDECL(shieldeff, (XCHAR_P,XCHAR_P)); 268. E void FDECL(tmp_at, (int,int)); 269. E void FDECL(swallowed, (int)); 270. E void FDECL(under_ground, (int)); 271. E void FDECL(under_water, (int)); 272. E void NDECL(see_monsters); 273. E void NDECL(set_mimic_blocking); 274. E void NDECL(see_objects); 275. E void NDECL(see_traps); 276. E void NDECL(curs_on_u); 277. E int NDECL(doredraw); 278. E void NDECL(docrt); 279. E void FDECL(show_glyph, (int,int,int)); 280. E void NDECL(clear_glyph_buffer); 281. E void FDECL(row_refresh, (int,int,int)); 282. E void NDECL(cls); 283. E void FDECL(flush_screen, (int)); 284. E int FDECL(back_to_glyph, (XCHAR_P,XCHAR_P)); 285. E int FDECL(zapdir_to_glyph, (int,int,int)); 286. E int FDECL(glyph_at, (XCHAR_P,XCHAR_P)); 287. E void NDECL(set_wall_state); 288. 289. /* ### do.c ### */ 290. 291. #ifdef USE_TRAMPOLI 292. E int FDECL(drop, (struct obj *)); 293. E int NDECL(wipeoff); 294. #endif 295. E int NDECL(dodrop); 296. E boolean FDECL(boulder_hits_pool, (struct obj *,int,int,BOOLEAN_P)); 297. E boolean FDECL(flooreffects, (struct obj *,int,int,const char *)); 298. E void FDECL(doaltarobj, (struct obj *)); 299. E boolean FDECL(canletgo, (struct obj *,const char *)); 300. E void FDECL(dropx, (struct obj *)); 301. E void FDECL(dropy, (struct obj *)); 302. E void FDECL(obj_no_longer_held, (struct obj *)); 303. E int NDECL(doddrop); 304. E int NDECL(dodown); 305. E int NDECL(doup); 306. #ifdef INSURANCE 307. E void NDECL(save_currentstate); 308. #endif 309. E void FDECL(goto_level, (d_level *,BOOLEAN_P,BOOLEAN_P,BOOLEAN_P)); 310. E void FDECL(schedule_goto, (d_level *,BOOLEAN_P,BOOLEAN_P,int, 311. const char *,const char *)); 312. E void NDECL(deferred_goto); 313. E boolean FDECL(revive_corpse, (struct obj *)); 314. E void FDECL(revive_mon, (genericptr_t, long)); 315. E int NDECL(donull); 316. E int NDECL(dowipe); 317. E void FDECL(set_wounded_legs, (long,int)); 318. E void NDECL(heal_legs); 319. 320. /* ### do_name.c ### */ 321. 322. E int FDECL(getpos, (coord *,BOOLEAN_P,const char *)); 323. E struct monst *FDECL(christen_monst, (struct monst *,const char *)); 324. E int NDECL(do_mname); 325. E struct obj *FDECL(oname, (struct obj *,const char *)); 326. E int NDECL(ddocall); 327. E void FDECL(docall, (struct obj *)); 328. E const char *NDECL(rndghostname); 329. E char *FDECL(x_monnam, (struct monst *,int,const char *,int,BOOLEAN_P)); 330. E char *FDECL(l_monnam, (struct monst *)); 331. E char *FDECL(mon_nam, (struct monst *)); 332. E char *FDECL(noit_mon_nam, (struct monst *)); 333. E char *FDECL(Monnam, (struct monst *)); 334. E char *FDECL(noit_Monnam, (struct monst *)); 335. E char *FDECL(m_monnam, (struct monst *)); 336. E char *FDECL(y_monnam, (struct monst *)); 337. E char *FDECL(Adjmonnam, (struct monst *,const char *)); 338. E char *FDECL(Amonnam, (struct monst *)); 339. E char *FDECL(a_monnam, (struct monst *)); 340. E char *FDECL(distant_monnam, (struct monst *,int,char *)); 341. E const char *NDECL(rndmonnam); 342. E const char *FDECL(hcolor, (const char *)); 343. E const char *NDECL(rndcolor); 344. #ifdef REINCARNATION 345. E const char *NDECL(roguename); 346. #endif 347. E struct obj *FDECL(realloc_obj, 348. (struct obj *, int, genericptr_t, int, const char *)); 349. E char *FDECL(coyotename, (struct monst *,char *)); 350. 351. /* ### do_wear.c ### */ 352. 353. #ifdef USE_TRAMPOLI 354. E int NDECL(Armor_on); 355. E int NDECL(Boots_on); 356. E int NDECL(Gloves_on); 357. E int NDECL(Helmet_on); 358. E int FDECL(select_off, (struct obj *)); 359. E int NDECL(take_off); 360. #endif 361. E void FDECL(off_msg, (struct obj *)); 362. E void NDECL(set_wear); 363. E boolean FDECL(donning, (struct obj *)); 364. E void NDECL(cancel_don); 365. E int NDECL(Armor_off); 366. E int NDECL(Armor_gone); 367. E int NDECL(Helmet_off); 368. E int NDECL(Gloves_off); 369. E int NDECL(Boots_off); 370. E int NDECL(Cloak_off); 371. E int NDECL(Shield_off); 372. #ifdef TOURIST 373. E int NDECL(Shirt_off); 374. #endif 375. E void NDECL(Amulet_off); 376. E void FDECL(Ring_on, (struct obj *)); 377. E void FDECL(Ring_off, (struct obj *)); 378. E void FDECL(Ring_gone, (struct obj *)); 379. E void FDECL(Blindf_on, (struct obj *)); 380. E void FDECL(Blindf_off, (struct obj *)); 381. E int NDECL(dotakeoff); 382. E int NDECL(doremring); 383. E int FDECL(cursed, (struct obj *)); 384. E int FDECL(armoroff, (struct obj *)); 385. E int FDECL(canwearobj, (struct obj *, long *, BOOLEAN_P)); 386. E int NDECL(dowear); 387. E int NDECL(doputon); 388. E void NDECL(find_ac); 389. E void NDECL(glibr); 390. E struct obj *FDECL(some_armor,(struct monst *)); 391. E void FDECL(erode_armor, (struct monst *,BOOLEAN_P)); 392. E struct obj *FDECL(stuck_ring, (struct obj *,int)); 393. E struct obj *NDECL(unchanger); 394. E void NDECL(reset_remarm); 395. E int NDECL(doddoremarm); 396. E int FDECL(destroy_arm, (struct obj *)); 397. E void FDECL(adj_abon, (struct obj *,SCHAR_P)); 398. 399. /* ### dog.c ### */ 400. 401. E void FDECL(initedog, (struct monst *)); 402. E struct monst *FDECL(make_familiar, (struct obj *,XCHAR_P,XCHAR_P,BOOLEAN_P)); 403. E struct monst *NDECL(makedog); 404. E void NDECL(update_mlstmv); 405. E void NDECL(losedogs); 406. E void FDECL(mon_arrive, (struct monst *,BOOLEAN_P)); 407. E void FDECL(mon_catchup_elapsed_time, (struct monst *,long)); 408. E void FDECL(keepdogs, (BOOLEAN_P)); 409. E void FDECL(migrate_to_level, (struct monst *,XCHAR_P,XCHAR_P,coord *)); 410. E int FDECL(dogfood, (struct monst *,struct obj *)); 411. E struct monst *FDECL(tamedog, (struct monst *,struct obj *)); 412. E void FDECL(abuse_dog, (struct monst *)); 413. E void FDECL(wary_dog, (struct monst *, BOOLEAN_P)); 414. 415. /* ### dogmove.c ### */ 416. 417. E int FDECL(dog_nutrition, (struct monst *,struct obj *)); 418. E int FDECL(dog_eat, (struct monst *,struct obj *,int,int,BOOLEAN_P)); 419. E int FDECL(dog_move, (struct monst *,int)); 420. #ifdef USE_TRAMPOLI 421. E void FDECL(wantdoor, (int,int,genericptr_t)); 422. #endif 423. 424. /* ### dokick.c ### */ 425. 426. E boolean FDECL(ghitm, (struct monst *,struct obj *)); 427. E void FDECL(container_impact_dmg, (struct obj *)); 428. E int NDECL(dokick); 429. E boolean FDECL(ship_object, (struct obj *,XCHAR_P,XCHAR_P,BOOLEAN_P)); 430. E void NDECL(obj_delivery); 431. E schar FDECL(down_gate, (XCHAR_P,XCHAR_P)); 432. E void FDECL(impact_drop, (struct obj *,XCHAR_P,XCHAR_P,XCHAR_P)); 433. 434. /* ### dothrow.c ### */ 435. 436. E int NDECL(dothrow); 437. E int NDECL(dofire); 438. E void FDECL(hitfloor, (struct obj *)); 439. E void FDECL(hurtle, (int,int,int,BOOLEAN_P)); 440. E void FDECL(mhurtle, (struct monst *,int,int,int)); 441. E void FDECL(throwit, (struct obj *,long,BOOLEAN_P)); 442. E int FDECL(omon_adj, (struct monst *,struct obj *,BOOLEAN_P)); 443. E int FDECL(thitmonst, (struct monst *,struct obj *)); 444. E int FDECL(hero_breaks, (struct obj *,XCHAR_P,XCHAR_P,BOOLEAN_P)); 445. E int FDECL(breaks, (struct obj *,XCHAR_P,XCHAR_P)); 446. E boolean FDECL(breaktest, (struct obj *)); 447. E boolean FDECL(walk_path, (coord *, coord *, boolean (*)(genericptr_t,int,int), genericptr_t)); 448. E boolean FDECL(hurtle_step, (genericptr_t, int, int)); 449. 450. /* ### drawing.c ### */ 451. #endif /* !MAKEDEFS_C && !LEV_LEX_C */ 452. E int FDECL(def_char_to_objclass, (CHAR_P)); 453. E int FDECL(def_char_to_monclass, (CHAR_P)); 454. #if !defined(MAKEDEFS_C) && !defined(LEV_LEX_C) 455. E void FDECL(assign_graphics, (uchar *,int,int,int)); 456. E void FDECL(switch_graphics, (int)); 457. #ifdef REINCARNATION 458. E void FDECL(assign_rogue_graphics, (BOOLEAN_P)); 459. #endif 460. 461. /* ### dungeon.c ### */ 462. 463. E void FDECL(save_dungeon, (int,BOOLEAN_P,BOOLEAN_P)); 464. E void FDECL(restore_dungeon, (int)); 465. E void FDECL(insert_branch, (branch *,BOOLEAN_P)); 466. E void NDECL(init_dungeons); 467. E s_level *FDECL(find_level, (const char *)); 468. E s_level *FDECL(Is_special, (d_level *)); 469. E branch *FDECL(Is_branchlev, (d_level *)); 470. E xchar FDECL(ledger_no, (d_level *)); 471. E xchar NDECL(maxledgerno); 472. E schar FDECL(depth, (d_level *)); 473. E xchar FDECL(dunlev, (d_level *)); 474. E xchar FDECL(dunlevs_in_dungeon, (d_level *)); 475. E xchar FDECL(ledger_to_dnum, (XCHAR_P)); 476. E xchar FDECL(ledger_to_dlev, (XCHAR_P)); 477. E xchar FDECL(deepest_lev_reached, (BOOLEAN_P)); 478. E boolean FDECL(on_level, (d_level *,d_level *)); 479. E void FDECL(next_level, (BOOLEAN_P)); 480. E void FDECL(prev_level, (BOOLEAN_P)); 481. E void FDECL(u_on_newpos, (int,int)); 482. E void NDECL(u_on_sstairs); 483. E void NDECL(u_on_upstairs); 484. E void NDECL(u_on_dnstairs); 485. E boolean FDECL(On_stairs, (XCHAR_P,XCHAR_P)); 486. E void FDECL(get_level, (d_level *,int)); 487. E boolean FDECL(Is_botlevel, (d_level *)); 488. E boolean FDECL(Can_fall_thru, (d_level *)); 489. E boolean FDECL(Can_dig_down, (d_level *)); 490. E boolean FDECL(Can_rise_up, (int,int,d_level *)); 491. E boolean FDECL(In_quest, (d_level *)); 492. E boolean FDECL(In_mines, (d_level *)); 493. E branch *FDECL(dungeon_branch, (const char *)); 494. E boolean FDECL(at_dgn_entrance, (const char *)); 495. E boolean FDECL(In_hell, (d_level *)); 496. E boolean FDECL(In_V_tower, (d_level *)); 497. E boolean FDECL(On_W_tower_level, (d_level *)); 498. E boolean FDECL(In_W_tower, (int,int,d_level *)); 499. E void FDECL(find_hell, (d_level *)); 500. E void FDECL(goto_hell, (BOOLEAN_P,BOOLEAN_P)); 501. E void FDECL(assign_level, (d_level *,d_level *)); 502. E void FDECL(assign_rnd_level, (d_level *,d_level *,int)); 503. E int FDECL(induced_align, (int)); 504. E boolean FDECL(Invocation_lev, (d_level *)); 505. E xchar NDECL(level_difficulty); 506. E schar FDECL(lev_by_name, (const char *)); 507. #ifdef WIZARD 508. E schar FDECL(print_dungeon, (BOOLEAN_P,schar *,xchar *)); 509. #endif 510. 511. /* ### eat.c ### */ 512. 513. #ifdef USE_TRAMPOLI 514. E int NDECL(eatmdone); 515. E int NDECL(eatfood); 516. E int NDECL(opentin); 517. E int NDECL(unfaint); 518. #endif 519. E boolean FDECL(is_edible, (struct obj *)); 520. E void NDECL(init_uhunger); 521. E int NDECL(Hear_again); 522. E void NDECL(reset_eat); 523. E int NDECL(doeat); 524. E void NDECL(gethungry); 525. E void FDECL(morehungry, (int)); 526. E void FDECL(lesshungry, (int)); 527. E boolean NDECL(is_fainted); 528. E void NDECL(reset_faint); 529. E void NDECL(violated_vegetarian); 530. #if 0 531. E void NDECL(sync_hunger); 532. #endif 533. E void FDECL(newuhs, (BOOLEAN_P)); 534. E struct obj *FDECL(floorfood, (const char *,int)); 535. E void NDECL(vomit); 536. E int FDECL(eaten_stat, (int,struct obj *)); 537. E void FDECL(food_disappears, (struct obj *)); 538. E void FDECL(food_substitution, (struct obj *,struct obj *)); 539. E void NDECL(fix_petrification); 540. E void FDECL(consume_oeaten, (struct obj *,int)); 541. E boolean FDECL(maybe_finished_meal, (BOOLEAN_P)); 542. 543. /* ### end.c ### */ 544. 545. E void FDECL(done1, (int)); 546. E int NDECL(done2); 547. #ifdef USE_TRAMPOLI 548. E void FDECL(done_intr, (int)); 549. #endif 550. E void FDECL(done_in_by, (struct monst *)); 551. #endif /* !MAKEDEFS_C && !LEV_LEX_C */ 552. E void VDECL(panic, (const char *,...)) PRINTF_F(1,2); 553. #if !defined(MAKEDEFS_C) && !defined(LEV_LEX_C) 554. E void FDECL(done, (int)); 555. E void FDECL(container_contents, (struct obj *,BOOLEAN_P,BOOLEAN_P)); 556. E void FDECL(terminate, (int)); 557. E int NDECL(num_genocides); 558. 559. /* ### engrave.c ### */ 560. 561. E char *FDECL(random_engraving, (char *)); 562. E void FDECL(wipeout_text, (char *,int,unsigned)); 563. E boolean NDECL(can_reach_floor); 564. E const char *FDECL(surface, (int,int)); 565. E const char *FDECL(ceiling, (int,int)); 566. E struct engr *FDECL(engr_at, (XCHAR_P,XCHAR_P)); 567. #ifdef ELBERETH 568. E int FDECL(sengr_at, (const char *,XCHAR_P,XCHAR_P)); 569. #endif 570. E void FDECL(u_wipe_engr, (int)); 571. E void FDECL(wipe_engr_at, (XCHAR_P,XCHAR_P,XCHAR_P)); 572. E void FDECL(read_engr_at, (int,int)); 573. E void FDECL(make_engr_at, (int,int,const char *,long,XCHAR_P)); 574. E void FDECL(del_engr_at, (int,int)); 575. E int NDECL(freehand); 576. E int NDECL(doengrave); 577. E void FDECL(save_engravings, (int,int)); 578. E void FDECL(rest_engravings, (int)); 579. E void FDECL(del_engr, (struct engr *)); 580. E void FDECL(rloc_engr, (struct engr *)); 581. E void FDECL(make_grave, (int,int,const char *)); 582. 583. /* ### exper.c ### */ 584. 585. E int FDECL(experience, (struct monst *,int)); 586. E void FDECL(more_experienced, (int,int)); 587. E void FDECL(losexp, (const char *)); 588. E void NDECL(newexplevel); 589. E void FDECL(pluslvl, (BOOLEAN_P)); 590. E long FDECL(rndexp, (BOOLEAN_P)); 591. 592. /* ### explode.c ### */ 593. 594. E void FDECL(explode, (int,int,int,int,CHAR_P,int)); 595. E long FDECL(scatter, (int, int, int, unsigned int, struct obj *)); 596. E void FDECL(splatter_burning_oil, (int, int)); 597. 598. /* ### extralev.c ### */ 599. 600. #ifdef REINCARNATION 601. E void NDECL(makeroguerooms); 602. E void FDECL(corr, (int,int)); 603. E void NDECL(makerogueghost); 604. #endif 605. 606. /* ### files.c ### */ 607. 608. E char *FDECL(fname_encode, (const char *, CHAR_P, char *, char *, int)); 609. E char *FDECL(fname_decode, (CHAR_P, char *, char *, int)); 610. E const char *FDECL(fqname, (const char *, int, int)); 611. E FILE *FDECL(fopen_datafile, (const char *,const char *,int)); 612. E boolean FDECL(uptodate, (int,const char *)); 613. E void FDECL(store_version, (int)); 614. #ifdef MFLOPPY 615. E void NDECL(set_lock_and_bones); 616. #endif 617. E void FDECL(set_levelfile_name, (char *,int)); 618. E int FDECL(create_levelfile, (int,char *)); 619. E int FDECL(open_levelfile, (int,char *)); 620. E void FDECL(delete_levelfile, (int)); 621. E void NDECL(clearlocks); 622. E int FDECL(create_bonesfile, (d_level*,char **, char *)); 623. #ifdef MFLOPPY 624. E void NDECL(cancel_bonesfile); 625. #endif 626. E void FDECL(commit_bonesfile, (d_level *)); 627. E int FDECL(open_bonesfile, (d_level*,char **)); 628. E int FDECL(delete_bonesfile, (d_level*)); 629. E void NDECL(compress_bonesfile); 630. E void NDECL(set_savefile_name); 631. #ifdef INSURANCE 632. E void FDECL(save_savefile_name, (int)); 633. #endif 634. #if defined(WIZARD) && !defined(MICRO) 635. E void NDECL(set_error_savefile); 636. #endif 637. E int NDECL(create_savefile); 638. E int NDECL(open_savefile); 639. E int NDECL(delete_savefile); 640. E int NDECL(restore_saved_game); 641. E void FDECL(compress, (const char *)); 642. E void FDECL(uncompress, (const char *)); 643. E boolean FDECL(lock_file, (const char *,int,int)); 644. E void FDECL(unlock_file, (const char *)); 645. #ifdef USER_SOUNDS 646. E boolean FDECL(can_read_file, (const char *)); 647. #endif 648. E void FDECL(read_config_file, (const char *)); 649. E void FDECL(check_recordfile, (const char *)); 650. #if defined(WIZARD) 651. E void NDECL(read_wizkit); 652. #endif 653. E void FDECL(paniclog, (const char *, const char *)); 654. E int FDECL(validate_prefix_locations, (char *)); 655. E char** NDECL(get_saved_games); 656. E void FDECL(free_saved_games, (char**)); 657. #ifdef SELF_RECOVER 658. E boolean NDECL(recover_savefile); 659. #endif 660. #ifdef HOLD_LOCKFILE_OPEN 661. E void NDECL(really_close); 662. #endif 663. 664. /* ### fountain.c ### */ 665. 666. E void FDECL(floating_above, (const char *)); 667. E void FDECL(dogushforth, (int)); 668. # ifdef USE_TRAMPOLI 669. E void FDECL(gush, (int,int,genericptr_t)); 670. # endif 671. E void FDECL(dryup, (XCHAR_P,XCHAR_P, BOOLEAN_P)); 672. E void NDECL(drinkfountain); 673. E void FDECL(dipfountain, (struct obj *)); 674. #ifdef SINKS 675. E void FDECL(breaksink, (int,int)); 676. E void NDECL(drinksink); 677. #endif 678. 679. /* ### hack.c ### */ 680. 681. E boolean FDECL(revive_nasty, (int,int,const char*)); 682. E void FDECL(movobj, (struct obj *,XCHAR_P,XCHAR_P)); 683. E boolean FDECL(may_dig, (XCHAR_P,XCHAR_P)); 684. E boolean FDECL(may_passwall, (XCHAR_P,XCHAR_P)); 685. E boolean FDECL(bad_rock, (struct permonst *,XCHAR_P,XCHAR_P)); 686. E boolean FDECL(invocation_pos, (XCHAR_P,XCHAR_P)); 687. E boolean FDECL(test_move, (int, int, int, int, int)); 688. E void NDECL(domove); 689. E void NDECL(invocation_message); 690. E void FDECL(spoteffects, (BOOLEAN_P)); 691. E char *FDECL(in_rooms, (XCHAR_P,XCHAR_P,int)); 692. E boolean FDECL(in_town, (int,int)); 693. E void FDECL(check_special_room, (BOOLEAN_P)); 694. E int NDECL(dopickup); 695. E void NDECL(lookaround); 696. E int NDECL(monster_nearby); 697. E void FDECL(nomul, (int)); 698. E void FDECL(unmul, (const char *)); 699. E void FDECL(losehp, (int,const char *,BOOLEAN_P)); 700. E int NDECL(weight_cap); 701. E int NDECL(inv_weight); 702. E int NDECL(near_capacity); 703. E int FDECL(calc_capacity, (int)); 704. E int NDECL(max_capacity); 705. E boolean FDECL(check_capacity, (const char *)); 706. E int NDECL(inv_cnt); 707. #ifdef GOLDOBJ 708. E long FDECL(money_cnt, (struct obj *)); 709. #endif 710. 711. /* ### hacklib.c ### */ 712. 713. E boolean FDECL(digit, (CHAR_P)); 714. E boolean FDECL(letter, (CHAR_P)); 715. E char FDECL(highc, (CHAR_P)); 716. E char FDECL(lowc, (CHAR_P)); 717. E char *FDECL(lcase, (char *)); 718. E char *FDECL(upstart, (char *)); 719. E char *FDECL(mungspaces, (char *)); 720. E char *FDECL(eos, (char *)); 721. E char *FDECL(strkitten, (char *,CHAR_P)); 722. E char *FDECL(s_suffix, (const char *)); 723. E char *FDECL(xcrypt, (const char *,char *)); 724. E boolean FDECL(onlyspace, (const char *)); 725. E char *FDECL(tabexpand, (char *)); 726. E char *FDECL(visctrl, (CHAR_P)); 727. E const char *FDECL(ordin, (int)); 728. E char *FDECL(sitoa, (int)); 729. E int FDECL(sgn, (int)); 730. E int FDECL(rounddiv, (long,int)); 731. E int FDECL(dist2, (int,int,int,int)); 732. E int FDECL(distmin, (int,int,int,int)); 733. E boolean FDECL(online2, (int,int,int,int)); 734. E boolean FDECL(pmatch, (const char *,const char *)); 735. #ifndef STRNCMPI 736. E int FDECL(strncmpi, (const char *,const char *,int)); 737. #endif 738. #ifndef STRSTRI 739. E char *FDECL(strstri, (const char *,const char *)); 740. #endif 741. E boolean FDECL(fuzzymatch, (const char *,const char *,const char *,BOOLEAN_P)); 742. E void NDECL(setrandom); 743. E int NDECL(getyear); 744. #if 0 745. E char *FDECL(yymmdd, (time_t)); 746. #endif 747. E long FDECL(yyyymmdd, (time_t)); 748. E int NDECL(phase_of_the_moon); 749. E boolean NDECL(friday_13th); 750. E int NDECL(night); 751. E int NDECL(midnight); 752. 753. /* ### invent.c ### */ 754. 755. E void FDECL(assigninvlet, (struct obj *)); 756. E struct obj *FDECL(merge_choice, (struct obj *,struct obj *)); 757. E int FDECL(merged, (struct obj **,struct obj **)); 758. #ifdef USE_TRAMPOLI 759. E int FDECL(ckunpaid, (struct obj *)); 760. #endif 761. E void FDECL(addinv_core1, (struct obj *)); 762. E void FDECL(addinv_core2, (struct obj *)); 763. E struct obj *FDECL(addinv, (struct obj *)); 764. E struct obj *FDECL(hold_another_object, 765. (struct obj *,const char *,const char *,const char *)); 766. E void FDECL(useupall, (struct obj *)); 767. E void FDECL(useup, (struct obj *)); 768. E void FDECL(consume_obj_charge, (struct obj *,BOOLEAN_P)); 769. E void FDECL(freeinv_core, (struct obj *)); 770. E void FDECL(freeinv, (struct obj *)); 771. E void FDECL(delallobj, (int,int)); 772. E void FDECL(delobj, (struct obj *)); 773. E struct obj *FDECL(sobj_at, (int,int,int)); 774. E struct obj *FDECL(carrying, (int)); 775. E boolean NDECL(have_lizard); 776. E struct obj *FDECL(o_on, (unsigned int,struct obj *)); 777. E boolean FDECL(obj_here, (struct obj *,int,int)); 778. E boolean NDECL(wearing_armor); 779. E boolean FDECL(is_worn, (struct obj *)); 780. E struct obj *FDECL(g_at, (int,int)); 781. E struct obj *FDECL(mkgoldobj, (long)); 782. E struct obj *FDECL(getobj, (const char *,const char *)); 783. E int FDECL(ggetobj, (const char *,int (*)(OBJ_P),int,BOOLEAN_P,unsigned *)); 784. E void FDECL(fully_identify_obj, (struct obj *)); 785. E int FDECL(identify, (struct obj *)); 786. E void FDECL(identify_pack, (int)); 787. E int FDECL(askchain, (struct obj **,const char *,int,int (*)(OBJ_P), 788. int (*)(OBJ_P),int,const char *)); 789. E void FDECL(prinv, (const char *,struct obj *,long)); 790. E char *FDECL(xprname, (struct obj *,const char *,CHAR_P,BOOLEAN_P,long,long)); 791. E int NDECL(ddoinv); 792. E char FDECL(display_inventory, (const char *,BOOLEAN_P)); 793. E int FDECL(display_binventory, (int,int,BOOLEAN_P)); 794. E struct obj *FDECL(display_cinventory,(struct obj *)); 795. E struct obj *FDECL(display_minventory,(struct monst *,int,char *)); 796. E int NDECL(dotypeinv); 797. E const char *FDECL(dfeature_at, (int,int,char *)); 798. E int FDECL(look_here, (int,BOOLEAN_P)); 799. E int NDECL(dolook); 800. E boolean FDECL(will_feel_cockatrice, (struct obj *,BOOLEAN_P)); 801. E void FDECL(feel_cockatrice, (struct obj *,BOOLEAN_P)); 802. E void FDECL(stackobj, (struct obj *)); 803. E int NDECL(doprgold); 804. E int NDECL(doprwep); 805. E int NDECL(doprarm); 806. E int NDECL(doprring); 807. E int NDECL(dopramulet); 808. E int NDECL(doprtool); 809. E int NDECL(doprinuse); 810. E void FDECL(useupf, (struct obj *,long)); 811. E char *FDECL(let_to_name, (CHAR_P,BOOLEAN_P)); 812. E void NDECL(free_invbuf); 813. E void NDECL(reassign); 814. E int NDECL(doorganize); 815. E int FDECL(count_unpaid, (struct obj *)); 816. E int FDECL(count_buc, (struct obj *,int)); 817. E void FDECL(carry_obj_effects, (struct obj *)); 818. E const char *FDECL(currency, (long)); 819. E void FDECL(silly_thing, (const char *,struct obj *)); 820. 821. /* ### ioctl.c ### */ 822. 823. #if defined(UNIX) || defined(__BEOS__) 824. E void NDECL(getwindowsz); 825. E void NDECL(getioctls); 826. E void NDECL(setioctls); 827. # ifdef SUSPEND 828. E int NDECL(dosuspend); 829. # endif /* SUSPEND */ 830. #endif /* UNIX || __BEOS__ */ 831. 832. /* ### light.c ### */ 833. 834. E void FDECL(new_light_source, (XCHAR_P, XCHAR_P, int, int, genericptr_t)); 835. E void FDECL(del_light_source, (int, genericptr_t)); 836. E void FDECL(do_light_sources, (char **)); 837. E struct monst *FDECL(find_mid, (unsigned, unsigned)); 838. E void FDECL(save_light_sources, (int, int, int)); 839. E void FDECL(restore_light_sources, (int)); 840. E void FDECL(relink_light_sources, (BOOLEAN_P)); 841. E void FDECL(obj_move_light_source, (struct obj *, struct obj *)); 842. E boolean NDECL(any_light_source); 843. E void FDECL(snuff_light_source, (int, int)); 844. E boolean FDECL(obj_sheds_light, (struct obj *)); 845. E boolean FDECL(obj_is_burning, (struct obj *)); 846. E void FDECL(obj_split_light_source, (struct obj *, struct obj *)); 847. E void FDECL(obj_merge_light_sources, (struct obj *,struct obj *)); 848. E int FDECL(candle_light_range, (struct obj *)); 849. #ifdef WIZARD 850. E int NDECL(wiz_light_sources); 851. #endif 852. 853. /* ### lock.c ### */ 854. 855. #ifdef USE_TRAMPOLI 856. E int NDECL(forcelock); 857. E int NDECL(picklock); 858. #endif 859. E boolean FDECL(picking_lock, (int *,int *)); 860. E boolean FDECL(picking_at, (int,int)); 861. E void NDECL(reset_pick); 862. E int FDECL(pick_lock, (struct obj *)); 863. E int NDECL(doforce); 864. E boolean FDECL(boxlock, (struct obj *,struct obj *)); 865. E boolean FDECL(doorlock, (struct obj *,int,int)); 866. E int NDECL(doopen); 867. E int NDECL(doclose); 868. 869. #ifdef MAC 870. /* These declarations are here because the main code calls them. */ 871. 872. /* ### macfile.c ### */ 873. 874. E int FDECL(maccreat, (const char *,long)); 875. E int FDECL(macopen, (const char *,int,long)); 876. E int FDECL(macclose, (int)); 877. E int FDECL(macread, (int,void *,unsigned)); 878. E int FDECL(macwrite, (int,void *,unsigned)); 879. E long FDECL(macseek, (int,long,short)); 880. E int FDECL(macunlink, (const char *)); 881. 882. /* ### macsnd.c ### */ 883. 884. E void FDECL(mac_speaker, (struct obj *,char *)); 885. 886. /* ### macunix.c ### */ 887. 888. E void FDECL(regularize, (char *)); 889. E void NDECL(getlock); 890. 891. /* ### macwin.c ### */ 892. 893. E void FDECL(lock_mouse_cursor, (Boolean)); 894. E int NDECL(SanePositions); 895. 896. /* ### mttymain.c ### */ 897. 898. E void FDECL(getreturn, (char *)); 899. E void VDECL(msmsg, (const char *,...)); 900. E void NDECL(gettty); 901. E void NDECL(setftty); 902. E void FDECL(settty, (const char *)); 903. E int NDECL(tgetch); 904. E void FDECL(cmov, (int x, int y)); 905. E void FDECL(nocmov, (int x, int y)); 906. 907. #endif /* MAC */ 908. 909. /* ### mail.c ### */ 910. 911. #ifdef MAIL 912. # ifdef UNIX 913. E void NDECL(getmailstatus); 914. # endif 915. E void NDECL(ckmailstatus); 916. E void FDECL(readmail, (struct obj *)); 917. #endif /* MAIL */ 918. 919. /* ### makemon.c ### */ 920. 921. E boolean FDECL(is_home_elemental, (struct permonst *)); 922. E struct monst *FDECL(clone_mon, (struct monst *,XCHAR_P,XCHAR_P)); 923. E struct monst *FDECL(makemon, (struct permonst *,int,int,int)); 924. E boolean FDECL(create_critters, (int,struct permonst *)); 925. E struct permonst *NDECL(rndmonst); 926. E void FDECL(reset_rndmonst, (int)); 927. E struct permonst *FDECL(mkclass, (CHAR_P,int)); 928. E int FDECL(adj_lev, (struct permonst *)); 929. E struct permonst *FDECL(grow_up, (struct monst *,struct monst *)); 930. E int FDECL(mongets, (struct monst *,int)); 931. E int FDECL(golemhp, (int)); 932. E boolean FDECL(peace_minded, (struct permonst *)); 933. E void FDECL(set_malign, (struct monst *)); 934. E void FDECL(set_mimic_sym, (struct monst *)); 935. E int FDECL(mbirth_limit, (int)); 936. E void FDECL(mimic_hit_msg, (struct monst *, SHORT_P)); 937. #ifdef GOLDOBJ 938. E void FDECL(mkmonmoney, (struct monst *, long)); 939. #endif 940. E void FDECL(bagotricks, (struct obj *)); 941. E boolean FDECL(propagate, (int, BOOLEAN_P,BOOLEAN_P)); 942. 943. /* ### mapglyph.c ### */ 944. 945. E void FDECL(mapglyph, (int, int *, int *, unsigned *, int, int)); 946. 947. /* ### mcastu.c ### */ 948. 949. E int FDECL(castmu, (struct monst *,struct attack *,BOOLEAN_P,BOOLEAN_P)); 950. E int FDECL(buzzmu, (struct monst *,struct attack *)); 951. 952. /* ### mhitm.c ### */ 953. 954. E int FDECL(fightm, (struct monst *)); 955. E int FDECL(mattackm, (struct monst *,struct monst *)); 956. E int FDECL(noattacks, (struct permonst *)); 957. E int FDECL(sleep_monst, (struct monst *,int,int)); 958. E void FDECL(slept_monst, (struct monst *)); 959. E long FDECL(attk_protection, (int)); 960. 961. /* ### mhitu.c ### */ 962. 963. E const char *FDECL(mpoisons_subj, (struct monst *,struct attack *)); 964. E void NDECL(u_slow_down); 965. E struct monst *NDECL(cloneu); 966. E void FDECL(expels, (struct monst *,struct permonst *,BOOLEAN_P)); 967. E struct attack *FDECL(getmattk, (struct permonst *,int,int *,struct attack *)); 968. E int FDECL(mattacku, (struct monst *)); 969. E int FDECL(magic_negation, (struct monst *)); 970. E int FDECL(gazemu, (struct monst *,struct attack *)); 971. E void FDECL(mdamageu, (struct monst *,int)); 972. E int FDECL(could_seduce, (struct monst *,struct monst *,struct attack *)); 973. #ifdef SEDUCE 974. E int FDECL(doseduce, (struct monst *)); 975. #endif 976. 977. /* ### minion.c ### */ 978. 979. E void FDECL(msummon, (struct monst *)); 980. E void FDECL(summon_minion, (ALIGNTYP_P,BOOLEAN_P)); 981. E int FDECL(demon_talk, (struct monst *)); 982. E long FDECL(bribe, (struct monst *)); 983. E int FDECL(dprince, (ALIGNTYP_P)); 984. E int FDECL(dlord, (ALIGNTYP_P)); 985. E int NDECL(llord); 986. E int FDECL(ndemon, (ALIGNTYP_P)); 987. E int NDECL(lminion); 988. 989. /* ### mklev.c ### */ 990. 991. #ifdef USE_TRAMPOLI 992. E int FDECL(do_comp, (genericptr_t,genericptr_t)); 993. #endif 994. E void NDECL(sort_rooms); 995. E void FDECL(add_room, (int,int,int,int,BOOLEAN_P,SCHAR_P,BOOLEAN_P)); 996. E void FDECL(add_subroom, (struct mkroom *,int,int,int,int, 997. BOOLEAN_P,SCHAR_P,BOOLEAN_P)); 998. E void NDECL(makecorridors); 999. E void FDECL(add_door, (int,int,struct mkroom *)); 1000. E void NDECL(mklev); 1001. #ifdef SPECIALIZATION 1002. E void FDECL(topologize, (struct mkroom *,BOOLEAN_P)); 1003. #else 1004. E void FDECL(topologize, (struct mkroom *)); 1005. #endif 1006. E void FDECL(place_branch, (branch *,XCHAR_P,XCHAR_P)); 1007. E boolean FDECL(occupied, (XCHAR_P,XCHAR_P)); 1008. E int FDECL(okdoor, (XCHAR_P,XCHAR_P)); 1009. E void FDECL(dodoor, (int,int,struct mkroom *)); 1010. E void FDECL(mktrap, (int,int,struct mkroom *,coord*)); 1011. E void FDECL(mkstairs, (XCHAR_P,XCHAR_P,CHAR_P,struct mkroom *)); 1012. E void NDECL(mkinvokearea); 1013. 1014. /* ### mkmap.c ### */ 1015. 1016. void FDECL(flood_fill_rm, (int,int,int,BOOLEAN_P,BOOLEAN_P)); 1017. void FDECL(remove_rooms, (int,int,int,int)); 1018. 1019. /* ### mkmaze.c ### */ 1020. 1021. E void FDECL(wallification, (int,int,int,int)); 1022. E void FDECL(walkfrom, (int,int)); 1023. E void FDECL(makemaz, (const char *)); 1024. E void FDECL(mazexy, (coord *)); 1025. E void NDECL(bound_digging); 1026. E void FDECL(mkportal, (XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P)); 1027. E boolean FDECL(bad_location, (XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P)); 1028. E void FDECL(place_lregion, (XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P, 1029. XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P, 1030. XCHAR_P,d_level *)); 1031. E void NDECL(movebubbles); 1032. E void NDECL(water_friction); 1033. E void FDECL(save_waterlevel, (int,int)); 1034. E void FDECL(restore_waterlevel, (int)); 1035. E const char *FDECL(waterbody_name, (XCHAR_P,XCHAR_P)); 1036. 1037. /* ### mkobj.c ### */ 1038. 1039. E struct obj *FDECL(mkobj_at, (CHAR_P,int,int,BOOLEAN_P)); 1040. E struct obj *FDECL(mksobj_at, (int,int,int,BOOLEAN_P,BOOLEAN_P)); 1041. E struct obj *FDECL(mkobj, (CHAR_P,BOOLEAN_P)); 1042. E int NDECL(rndmonnum); 1043. E struct obj *FDECL(splitobj, (struct obj *,long)); 1044. E void FDECL(replace_object, (struct obj *,struct obj *)); 1045. E void FDECL(bill_dummy_object, (struct obj *)); 1046. E struct obj *FDECL(mksobj, (int,BOOLEAN_P,BOOLEAN_P)); 1047. E int FDECL(bcsign, (struct obj *)); 1048. E int FDECL(weight, (struct obj *)); 1049. E struct obj *FDECL(mkgold, (long,int,int)); 1050. E struct obj *FDECL(mkcorpstat, 1051. (int,struct monst *,struct permonst *,int,int,BOOLEAN_P)); 1052. E struct obj *FDECL(obj_attach_mid, (struct obj *, unsigned)); 1053. E struct monst *FDECL(get_mtraits, (struct obj *, BOOLEAN_P)); 1054. E struct obj *FDECL(mk_tt_object, (int,int,int)); 1055. E struct obj *FDECL(mk_named_object, 1056. (int,struct permonst *,int,int,const char *)); 1057. E struct obj *FDECL(rnd_treefruit_at, (int, int)); 1058. E void FDECL(start_corpse_timeout, (struct obj *)); 1059. E void FDECL(bless, (struct obj *)); 1060. E void FDECL(unbless, (struct obj *)); 1061. E void FDECL(curse, (struct obj *)); 1062. E void FDECL(uncurse, (struct obj *)); 1063. E void FDECL(blessorcurse, (struct obj *,int)); 1064. E boolean FDECL(is_flammable, (struct obj *)); 1065. E boolean FDECL(is_rottable, (struct obj *)); 1066. E void FDECL(place_object, (struct obj *,int,int)); 1067. E void FDECL(remove_object, (struct obj *)); 1068. E void FDECL(discard_minvent, (struct monst *)); 1069. E void FDECL(obj_extract_self, (struct obj *)); 1070. E void FDECL(extract_nobj, (struct obj *, struct obj **)); 1071. E void FDECL(extract_nexthere, (struct obj *, struct obj **)); 1072. E int FDECL(add_to_minv, (struct monst *, struct obj *)); 1073. E struct obj *FDECL(add_to_container, (struct obj *, struct obj *)); 1074. E void FDECL(add_to_migration, (struct obj *)); 1075. E void FDECL(add_to_buried, (struct obj *)); 1076. E void FDECL(dealloc_obj, (struct obj *)); 1077. E void FDECL(obj_ice_effects, (int, int, BOOLEAN_P)); 1078. E long FDECL(peek_at_iced_corpse_age, (struct obj *)); 1079. #ifdef WIZARD 1080. E void NDECL(obj_sanity_check); 1081. #endif 1082. 1083. /* ### mkroom.c ### */ 1084. 1085. E void FDECL(mkroom, (int)); 1086. E void FDECL(fill_zoo, (struct mkroom *)); 1087. E boolean FDECL(nexttodoor, (int,int)); 1088. E boolean FDECL(has_dnstairs, (struct mkroom *)); 1089. E boolean FDECL(has_upstairs, (struct mkroom *)); 1090. E int FDECL(somex, (struct mkroom *)); 1091. E int FDECL(somey, (struct mkroom *)); 1092. E boolean FDECL(inside_room, (struct mkroom *,XCHAR_P,XCHAR_P)); 1093. E boolean FDECL(somexy, (struct mkroom *,coord *)); 1094. E void FDECL(mkundead, (coord *,BOOLEAN_P,int)); 1095. E struct permonst *NDECL(courtmon); 1096. E void FDECL(save_rooms, (int)); 1097. E void FDECL(rest_rooms, (int)); 1098. E struct mkroom *FDECL(search_special, (SCHAR_P)); 1099. 1100. /* ### mon.c ### */ 1101. 1102. E int FDECL(undead_to_corpse, (int)); 1103. E int FDECL(genus, (int,int)); 1104. E int FDECL(pm_to_cham, (int)); 1105. E int FDECL(minliquid, (struct monst *)); 1106. E int NDECL(movemon); 1107. E int FDECL(meatmetal, (struct monst *)); 1108. E int FDECL(meatobj, (struct monst *)); 1109. E void FDECL(mpickgold, (struct monst *)); 1110. E boolean FDECL(mpickstuff, (struct monst *,const char *)); 1111. E int FDECL(curr_mon_load, (struct monst *)); 1112. E int FDECL(max_mon_load, (struct monst *)); 1113. E boolean FDECL(can_carry, (struct monst *,struct obj *)); 1114. E int FDECL(mfndpos, (struct monst *,coord *,long *,long)); 1115. E boolean FDECL(monnear, (struct monst *,int,int)); 1116. E void NDECL(dmonsfree); 1117. E int FDECL(mcalcmove, (struct monst*)); 1118. E void NDECL(mcalcdistress); 1119. E void FDECL(replmon, (struct monst *,struct monst *)); 1120. E void FDECL(relmon, (struct monst *)); 1121. E struct obj *FDECL(mlifesaver, (struct monst *)); 1122. E boolean FDECL(corpse_chance,(struct monst *,struct monst *,BOOLEAN_P)); 1123. E void FDECL(mondead, (struct monst *)); 1124. E void FDECL(mondied, (struct monst *)); 1125. E void FDECL(mongone, (struct monst *)); 1126. E void FDECL(monstone, (struct monst *)); 1127. E void FDECL(monkilled, (struct monst *,const char *,int)); 1128. E void FDECL(unstuck, (struct monst *)); 1129. E void FDECL(killed, (struct monst *)); 1130. E void FDECL(xkilled, (struct monst *,int)); 1131. E void FDECL(mon_to_stone, (struct monst*)); 1132. E void FDECL(mnexto, (struct monst *)); 1133. E boolean FDECL(mnearto, (struct monst *,XCHAR_P,XCHAR_P,BOOLEAN_P)); 1134. E void FDECL(poisontell, (int)); 1135. E void FDECL(poisoned, (const char *,int,const char *,int)); 1136. E void FDECL(m_respond, (struct monst *)); 1137. E void FDECL(setmangry, (struct monst *)); 1138. E void FDECL(wakeup, (struct monst *)); 1139. E void NDECL(wake_nearby); 1140. E void FDECL(wake_nearto, (int,int,int)); 1141. E void FDECL(seemimic, (struct monst *)); 1142. E void NDECL(rescham); 1143. E void NDECL(restartcham); 1144. E void FDECL(restore_cham, (struct monst *)); 1145. E void FDECL(mon_animal_list, (BOOLEAN_P)); 1146. E int FDECL(newcham, (struct monst *,struct permonst *,BOOLEAN_P,BOOLEAN_P)); 1147. E int FDECL(can_be_hatched, (int)); 1148. E int FDECL(egg_type_from_parent, (int,BOOLEAN_P)); 1149. E boolean FDECL(dead_species, (int,BOOLEAN_P)); 1150. E void NDECL(kill_genocided_monsters); 1151. E void FDECL(golemeffects, (struct monst *,int,int)); 1152. E boolean FDECL(angry_guards, (BOOLEAN_P)); 1153. E void NDECL(pacify_guards); 1154. 1155. /* ### mondata.c ### */ 1156. 1157. E void FDECL(set_mon_data, (struct monst *,struct permonst *,int)); 1158. E struct attack *FDECL(attacktype_fordmg, (struct permonst *,int,int)); 1159. E boolean FDECL(attacktype, (struct permonst *,int)); 1160. E boolean FDECL(poly_when_stoned, (struct permonst *)); 1161. E boolean FDECL(resists_drli, (struct monst *)); 1162. E boolean FDECL(resists_magm, (struct monst *)); 1163. E boolean FDECL(resists_blnd, (struct monst *)); 1164. E boolean FDECL(can_blnd, (struct monst *,struct monst *,UCHAR_P,struct obj *)); 1165. E boolean FDECL(ranged_attk, (struct permonst *)); 1166. E boolean FDECL(hates_silver, (struct permonst *)); 1167. E boolean FDECL(passes_bars, (struct permonst *)); 1168. E boolean FDECL(can_track, (struct permonst *)); 1169. E boolean FDECL(breakarm, (struct permonst *)); 1170. E boolean FDECL(sliparm, (struct permonst *)); 1171. E boolean FDECL(sticks, (struct permonst *)); 1172. E int FDECL(num_horns, (struct permonst *)); 1173. /* E boolean FDECL(canseemon, (struct monst *)); */ 1174. E struct attack *FDECL(dmgtype_fromattack, (struct permonst *,int,int)); 1175. E boolean FDECL(dmgtype, (struct permonst *,int)); 1176. E int FDECL(max_passive_dmg, (struct monst *,struct monst *)); 1177. E int FDECL(monsndx, (struct permonst *)); 1178. E int FDECL(name_to_mon, (const char *)); 1179. E int FDECL(gender, (struct monst *)); 1180. E int FDECL(pronoun_gender, (struct monst *)); 1181. E boolean FDECL(levl_follower, (struct monst *)); 1182. E int FDECL(little_to_big, (int)); 1183. E int FDECL(big_to_little, (int)); 1184. E const char *FDECL(locomotion, (const struct permonst *,const char *)); 1185. E const char *FDECL(stagger, (const struct permonst *,const char *)); 1186. E const char *FDECL(on_fire, (struct permonst *,struct attack *)); 1187. E const struct permonst *FDECL(raceptr, (struct monst *)); 1188. 1189. /* ### monmove.c ### */ 1190. 1191. E boolean FDECL(itsstuck, (struct monst *)); 1192. E boolean FDECL(mb_trapped, (struct monst *)); 1193. E void FDECL(mon_regen, (struct monst *,BOOLEAN_P)); 1194. E int FDECL(dochugw, (struct monst *)); 1195. E boolean FDECL(onscary, (int,int,struct monst *)); 1196. E void FDECL(monflee, (struct monst *, int, BOOLEAN_P, BOOLEAN_P)); 1197. E int FDECL(dochug, (struct monst *)); 1198. E int FDECL(m_move, (struct monst *,int)); 1199. E boolean FDECL(closed_door, (int,int)); 1200. E boolean FDECL(accessible, (int,int)); 1201. E void FDECL(set_apparxy, (struct monst *)); 1202. E boolean FDECL(can_ooze, (struct monst *)); 1203. 1204. /* ### monst.c ### */ 1205. 1206. E void NDECL(monst_init); 1207. 1208. /* ### monstr.c ### */ 1209. 1210. E void NDECL(monstr_init); 1211. 1212. /* ### mplayer.c ### */ 1213. 1214. E struct monst *FDECL(mk_mplayer, (struct permonst *,XCHAR_P, 1215. XCHAR_P,BOOLEAN_P)); 1216. E void FDECL(create_mplayers, (int,BOOLEAN_P)); 1217. E void FDECL(mplayer_talk, (struct monst *)); 1218. 1219. #if defined(MICRO) || defined(WIN32) 1220. 1221. /* ### msdos.c,os2.c,tos.c,winnt.c ### */ 1222. 1223. # ifndef WIN32 1224. E int NDECL(tgetch); 1225. # endif 1226. # ifndef TOS 1227. E char NDECL(switchar); 1228. # endif 1229. # ifndef __GO32__ 1230. E long FDECL(freediskspace, (char *)); 1231. # ifdef MSDOS 1232. E int FDECL(findfirst_file, (char *)); 1233. E int NDECL(findnext_file); 1234. E long FDECL(filesize_nh, (char *)); 1235. # else 1236. E int FDECL(findfirst, (char *)); 1237. E int NDECL(findnext); 1238. E long FDECL(filesize, (char *)); 1239. # endif /* MSDOS */ 1240. E char *NDECL(foundfile_buffer); 1241. # endif /* __GO32__ */ 1242. E void FDECL(chdrive, (char *)); 1243. # ifndef TOS 1244. E void NDECL(disable_ctrlP); 1245. E void NDECL(enable_ctrlP); 1246. # endif 1247. # if defined(MICRO) && !defined(WINNT) 1248. E void NDECL(get_scr_size); 1249. # ifndef TOS 1250. E void FDECL(gotoxy, (int,int)); 1251. # endif 1252. # endif 1253. # ifdef TOS 1254. E int FDECL(_copyfile, (char *,char *)); 1255. E int NDECL(kbhit); 1256. E void NDECL(set_colors); 1257. E void NDECL(restore_colors); 1258. # ifdef SUSPEND 1259. E int NDECL(dosuspend); 1260. # endif 1261. # endif /* TOS */ 1262. # ifdef WIN32 1263. E char *FDECL(get_username, (int *)); 1264. E void FDECL(nt_regularize, (char *)); 1265. E int NDECL((*nt_kbhit)); 1266. E void FDECL(Delay, (int)); 1267. # endif /* WIN32 */ 1268. #endif /* MICRO || WIN32 */ 1269. 1270. /* ### mthrowu.c ### */ 1271. 1272. E int FDECL(thitu, (int,int,struct obj *,const char *)); 1273. E int FDECL(ohitmon, (struct monst *,struct obj *,int,BOOLEAN_P)); 1274. E void FDECL(thrwmu, (struct monst *)); 1275. E int FDECL(spitmu, (struct monst *,struct attack *)); 1276. E int FDECL(breamu, (struct monst *,struct attack *)); 1277. E boolean FDECL(linedup, (XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P)); 1278. E boolean FDECL(lined_up, (struct monst *)); 1279. E struct obj *FDECL(m_carrying, (struct monst *,int)); 1280. E void FDECL(m_useup, (struct monst *,struct obj *)); 1281. E void FDECL(m_throw, (struct monst *,int,int,int,int,int,struct obj *)); 1282. E boolean FDECL(hits_bars, (struct obj **,int,int,int,int)); 1283. 1284. /* ### muse.c ### */ 1285. 1286. E boolean FDECL(find_defensive, (struct monst *)); 1287. E int FDECL(use_defensive, (struct monst *)); 1288. E int FDECL(rnd_defensive_item, (struct monst *)); 1289. E boolean FDECL(find_offensive, (struct monst *)); 1290. #ifdef USE_TRAMPOLI 1291. E int FDECL(mbhitm, (struct monst *,struct obj *)); 1292. #endif 1293. E int FDECL(use_offensive, (struct monst *)); 1294. E int FDECL(rnd_offensive_item, (struct monst *)); 1295. E boolean FDECL(find_misc, (struct monst *)); 1296. E int FDECL(use_misc, (struct monst *)); 1297. E int FDECL(rnd_misc_item, (struct monst *)); 1298. E boolean FDECL(searches_for_item, (struct monst *,struct obj *)); 1299. E boolean FDECL(mon_reflects, (struct monst *,const char *)); 1300. E boolean FDECL(ureflects, (const char *,const char *)); 1301. E boolean FDECL(munstone, (struct monst *,BOOLEAN_P)); 1302. 1303. /* ### music.c ### */ 1304. 1305. E void NDECL(awaken_soldiers); 1306. E int FDECL(do_play_instrument, (struct obj *)); 1307. 1308. /* ### nhlan.c ### */ 1309. #ifdef LAN_FEATURES 1310. E void NDECL(init_lan_features); 1311. E char *NDECL(lan_username); 1312. # ifdef LAN_MAIL 1313. E boolean NDECL(lan_mail_check); 1314. E void FDECL(lan_mail_read, (struct obj *)); 1315. E void NDECL(lan_mail_init); 1316. E void NDECL(lan_mail_finish); 1317. E void NDECL(lan_mail_terminate); 1318. # endif 1319. #endif 1320. 1321. /* ### nttty.c ### */ 1322. 1323. #ifdef WIN32CON 1324. E void NDECL(get_scr_size); 1325. E int NDECL(nttty_kbhit); 1326. E void NDECL(nttty_open); 1327. E void NDECL(nttty_rubout); 1328. E int NDECL(tgetch); 1329. E int FDECL(ntposkey,(int *, int *, int *)); 1330. E void FDECL(set_output_mode, (int)); 1331. E void NDECL(synch_cursor); 1332. #endif 1333. 1334. /* ### o_init.c ### */ 1335. 1336. E void NDECL(init_objects); 1337. E int NDECL(find_skates); 1338. E void NDECL(oinit); 1339. E void FDECL(savenames, (int,int)); 1340. E void FDECL(restnames, (int)); 1341. E void FDECL(discover_object, (int,BOOLEAN_P,BOOLEAN_P)); 1342. E void FDECL(undiscover_object, (int)); 1343. E int NDECL(dodiscovered); 1344. 1345. /* ### objects.c ### */ 1346. 1347. E void NDECL(objects_init); 1348. 1349. /* ### objnam.c ### */ 1350. 1351. E char *FDECL(obj_typename, (int)); 1352. E char *FDECL(simple_typename, (int)); 1353. E boolean FDECL(obj_is_pname, (struct obj *)); 1354. E char *FDECL(distant_name, (struct obj *,char *(*)(OBJ_P))); 1355. E char *FDECL(fruitname, (BOOLEAN_P)); 1356. E char *FDECL(xname, (struct obj *)); 1357. E char *FDECL(mshot_xname, (struct obj *)); 1358. E boolean FDECL(the_unique_obj, (struct obj *obj)); 1359. E char *FDECL(doname, (struct obj *)); 1360. E boolean FDECL(not_fully_identified, (struct obj *)); 1361. E char *FDECL(corpse_xname, (struct obj *,BOOLEAN_P)); 1362. E char *FDECL(cxname, (struct obj *)); 1363. E char *FDECL(killer_xname, (struct obj *)); 1364. E const char *FDECL(singular, (struct obj *,char *(*)(OBJ_P))); 1365. E char *FDECL(an, (const char *)); 1366. E char *FDECL(An, (const char *)); 1367. E char *FDECL(The, (const char *)); 1368. E char *FDECL(the, (const char *)); 1369. E char *FDECL(aobjnam, (struct obj *,const char *)); 1370. E char *FDECL(Tobjnam, (struct obj *,const char *)); 1371. E char *FDECL(otense, (struct obj *,const char *)); 1372. E char *FDECL(vtense, (const char *,const char *)); 1373. E char *FDECL(Doname2, (struct obj *)); 1374. E char *FDECL(yname, (struct obj *)); 1375. E char *FDECL(Yname2, (struct obj *)); 1376. E char *FDECL(ysimple_name, (struct obj *)); 1377. E char *FDECL(Ysimple_name2, (struct obj *)); 1378. E char *FDECL(makeplural, (const char *)); 1379. E char *FDECL(makesingular, (const char *)); 1380. E struct obj *FDECL(readobjnam, (char *,struct obj *,BOOLEAN_P)); 1381. E int FDECL(rnd_class, (int,int)); 1382. E const char *FDECL(cloak_simple_name, (struct obj *)); 1383. E const char *FDECL(mimic_obj_name, (struct monst *)); 1384. 1385. /* ### options.c ### */ 1386. 1387. E boolean FDECL(match_optname, (const char *,const char *,int,BOOLEAN_P)); 1388. E void NDECL(initoptions); 1389. E void FDECL(parseoptions, (char *,BOOLEAN_P,BOOLEAN_P)); 1390. E int NDECL(doset); 1391. E int NDECL(dotogglepickup); 1392. E void NDECL(option_help); 1393. E void FDECL(next_opt, (winid,const char *)); 1394. E int FDECL(fruitadd, (char *)); 1395. E int FDECL(choose_classes_menu, (const char *,int,BOOLEAN_P,char *,char *)); 1396. E void FDECL(add_menu_cmd_alias, (CHAR_P, CHAR_P)); 1397. E char FDECL(map_menu_cmd, (CHAR_P)); 1398. E void FDECL(assign_warnings, (uchar *)); 1399. E char *FDECL(nh_getenv, (const char *)); 1400. E void FDECL(set_duplicate_opt_detection, (int)); 1401. E void FDECL(set_wc_option_mod_status, (unsigned long, int)); 1402. E void FDECL(set_wc2_option_mod_status, (unsigned long, int)); 1403. E void FDECL(set_option_mod_status, (const char *,int)); 1404. #ifdef AUTOPICKUP_EXCEPTIONS 1405. E int FDECL(add_autopickup_exception, (const char *)); 1406. E void NDECL(free_autopickup_exceptions); 1407. #endif /* AUTOPICKUP_EXCEPTIONS */ 1408. 1409. /* ### pager.c ### */ 1410. 1411. E int NDECL(dowhatis); 1412. E int NDECL(doquickwhatis); 1413. E int NDECL(doidtrap); 1414. E int NDECL(dowhatdoes); 1415. E char *FDECL(dowhatdoes_core,(CHAR_P, char *)); 1416. E int NDECL(dohelp); 1417. E int NDECL(dohistory); 1418. 1419. /* ### pcmain.c ### */ 1420. 1421. #if defined(MICRO) || defined(WIN32) 1422. # ifdef CHDIR 1423. E void FDECL(chdirx, (char *,BOOLEAN_P)); 1424. # endif /* CHDIR */ 1425. #endif /* MICRO || WIN32 */ 1426. 1427. /* ### pcsys.c ### */ 1428. 1429. #if defined(MICRO) || defined(WIN32) 1430. E void NDECL(flushout); 1431. E int NDECL(dosh); 1432. # ifdef MFLOPPY 1433. E void FDECL(eraseall, (const char *,const char *)); 1434. E void FDECL(copybones, (int)); 1435. E void NDECL(playwoRAMdisk); 1436. E int FDECL(saveDiskPrompt, (int)); 1437. E void NDECL(gameDiskPrompt); 1438. # endif 1439. E void FDECL(append_slash, (char *)); 1440. E void FDECL(getreturn, (const char *)); 1441. # ifndef AMIGA 1442. E void VDECL(msmsg, (const char *,...)); 1443. # endif 1444. E FILE *FDECL(fopenp, (const char *,const char *)); 1445. #endif /* MICRO || WIN32 */ 1446. 1447. /* ### pctty.c ### */ 1448. 1449. #if defined(MICRO) || defined(WIN32) 1450. E void NDECL(gettty); 1451. E void FDECL(settty, (const char *)); 1452. E void NDECL(setftty); 1453. E void VDECL(error, (const char *,...)); 1454. #if defined(TIMED_DELAY) && defined(_MSC_VER) 1455. E void FDECL(msleep, (unsigned)); 1456. #endif 1457. #endif /* MICRO || WIN32 */ 1458. 1459. /* ### pcunix.c ### */ 1460. 1461. #if defined(MICRO) 1462. E void FDECL(regularize, (char *)); 1463. #endif /* MICRO */ 1464. #if defined(PC_LOCKING) 1465. E void NDECL(getlock); 1466. #endif 1467. 1468. /* ### pickup.c ### */ 1469. 1470. #ifdef GOLDOBJ 1471. E int FDECL(collect_obj_classes, 1472. (char *,struct obj *,BOOLEAN_P,boolean FDECL((*),(OBJ_P)), int *)); 1473. #else 1474. E int FDECL(collect_obj_classes, 1475. (char *,struct obj *,BOOLEAN_P,BOOLEAN_P,boolean FDECL((*),(OBJ_P)), int *)); 1476. #endif 1477. E void FDECL(add_valid_menu_class, (int)); 1478. E boolean FDECL(allow_all, (struct obj *)); 1479. E boolean FDECL(allow_category, (struct obj *)); 1480. E boolean FDECL(is_worn_by_type, (struct obj *)); 1481. #ifdef USE_TRAMPOLI 1482. E int FDECL(ck_bag, (struct obj *)); 1483. E int FDECL(in_container, (struct obj *)); 1484. E int FDECL(out_container, (struct obj *)); 1485. #endif 1486. E int FDECL(pickup, (int)); 1487. E int FDECL(pickup_object, (struct obj *, long, BOOLEAN_P)); 1488. E int FDECL(query_category, (const char *, struct obj *, int, 1489. menu_item **, int)); 1490. E int FDECL(query_objlist, (const char *, struct obj *, int, 1491. menu_item **, int, boolean (*)(OBJ_P))); 1492. E struct obj *FDECL(pick_obj, (struct obj *)); 1493. E int NDECL(encumber_msg); 1494. E int NDECL(doloot); 1495. E int FDECL(use_container, (struct obj *,int)); 1496. E int FDECL(loot_mon, (struct monst *,int *,boolean *)); 1497. E const char *FDECL(safe_qbuf, (const char *,unsigned, 1498. const char *,const char *,const char *)); 1499. E boolean FDECL(is_autopickup_exception, (struct obj *, BOOLEAN_P)); 1500. 1501. /* ### pline.c ### */ 1502. 1503. E void VDECL(pline, (const char *,...)) PRINTF_F(1,2); 1504. E void VDECL(Norep, (const char *,...)) PRINTF_F(1,2); 1505. E void NDECL(free_youbuf); 1506. E void VDECL(You, (const char *,...)) PRINTF_F(1,2); 1507. E void VDECL(Your, (const char *,...)) PRINTF_F(1,2); 1508. E void VDECL(You_feel, (const char *,...)) PRINTF_F(1,2); 1509. E void VDECL(You_cant, (const char *,...)) PRINTF_F(1,2); 1510. E void VDECL(You_hear, (const char *,...)) PRINTF_F(1,2); 1511. E void VDECL(pline_The, (const char *,...)) PRINTF_F(1,2); 1512. E void VDECL(There, (const char *,...)) PRINTF_F(1,2); 1513. E void VDECL(verbalize, (const char *,...)) PRINTF_F(1,2); 1514. E void VDECL(raw_printf, (const char *,...)) PRINTF_F(1,2); 1515. E void VDECL(impossible, (const char *,...)) PRINTF_F(1,2); 1516. E const char *FDECL(align_str, (ALIGNTYP_P)); 1517. E void FDECL(mstatusline, (struct monst *)); 1518. E void NDECL(ustatusline); 1519. E void NDECL(self_invis_message); 1520. 1521. /* ### polyself.c ### */ 1522. 1523. E void NDECL(set_uasmon); 1524. E void NDECL(change_sex); 1525. E void FDECL(polyself, (BOOLEAN_P)); 1526. E int FDECL(polymon, (int)); 1527. E void NDECL(rehumanize); 1528. E int NDECL(dobreathe); 1529. E int NDECL(dospit); 1530. E int NDECL(doremove); 1531. E int NDECL(dospinweb); 1532. E int NDECL(dosummon); 1533. E int NDECL(dogaze); 1534. E int NDECL(dohide); 1535. E int NDECL(domindblast); 1536. E void FDECL(skinback, (BOOLEAN_P)); 1537. E const char *FDECL(mbodypart, (struct monst *,int)); 1538. E const char *FDECL(body_part, (int)); 1539. E int NDECL(poly_gender); 1540. E void FDECL(ugolemeffects, (int,int)); 1541. 1542. /* ### potion.c ### */ 1543. 1544. E void FDECL(set_itimeout, (long *,long)); 1545. E void FDECL(incr_itimeout, (long *,int)); 1546. E void FDECL(make_confused, (long,BOOLEAN_P)); 1547. E void FDECL(make_stunned, (long,BOOLEAN_P)); 1548. E void FDECL(make_blinded, (long,BOOLEAN_P)); 1549. E void FDECL(make_sick, (long, const char *, BOOLEAN_P,int)); 1550. E void FDECL(make_vomiting, (long,BOOLEAN_P)); 1551. E boolean FDECL(make_hallucinated, (long,BOOLEAN_P,long)); 1552. E int NDECL(dodrink); 1553. E int FDECL(dopotion, (struct obj *)); 1554. E int FDECL(peffects, (struct obj *)); 1555. E void FDECL(healup, (int,int,BOOLEAN_P,BOOLEAN_P)); 1556. E void FDECL(strange_feeling, (struct obj *,const char *)); 1557. E void FDECL(potionhit, (struct monst *,struct obj *,BOOLEAN_P)); 1558. E void FDECL(potionbreathe, (struct obj *)); 1559. E boolean FDECL(get_wet, (struct obj *)); 1560. E int NDECL(dodip); 1561. E void FDECL(djinni_from_bottle, (struct obj *)); 1562. E struct monst *FDECL(split_mon, (struct monst *,struct monst *)); 1563. E const char *NDECL(bottlename); 1564. 1565. /* ### pray.c ### */ 1566. 1567. #ifdef USE_TRAMPOLI 1568. E int NDECL(prayer_done); 1569. #endif 1570. E int NDECL(dosacrifice); 1571. E boolean FDECL(can_pray, (BOOLEAN_P)); 1572. E int NDECL(dopray); 1573. E const char *NDECL(u_gname); 1574. E int NDECL(doturn); 1575. E const char *NDECL(a_gname); 1576. E const char *FDECL(a_gname_at, (XCHAR_P x,XCHAR_P y)); 1577. E const char *FDECL(align_gname, (ALIGNTYP_P)); 1578. E const char *FDECL(halu_gname, (ALIGNTYP_P)); 1579. E const char *FDECL(align_gtitle, (ALIGNTYP_P)); 1580. E void FDECL(altar_wrath, (int,int)); 1581. 1582. 1583. /* ### priest.c ### */ 1584. 1585. E int FDECL(move_special, (struct monst *,BOOLEAN_P,SCHAR_P,BOOLEAN_P,BOOLEAN_P, 1586. XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P)); 1587. E char FDECL(temple_occupied, (char *)); 1588. E int FDECL(pri_move, (struct monst *)); 1589. E void FDECL(priestini, (d_level *,struct mkroom *,int,int,BOOLEAN_P)); 1590. E char *FDECL(priestname, (struct monst *,char *)); 1591. E boolean FDECL(p_coaligned, (struct monst *)); 1592. E struct monst *FDECL(findpriest, (CHAR_P)); 1593. E void FDECL(intemple, (int)); 1594. E void FDECL(priest_talk, (struct monst *)); 1595. E struct monst *FDECL(mk_roamer, (struct permonst *,ALIGNTYP_P, 1596. XCHAR_P,XCHAR_P,BOOLEAN_P)); 1597. E void FDECL(reset_hostility, (struct monst *)); 1598. E boolean FDECL(in_your_sanctuary, (struct monst *,XCHAR_P,XCHAR_P)); 1599. E void FDECL(ghod_hitsu, (struct monst *)); 1600. E void NDECL(angry_priest); 1601. E void NDECL(clearpriests); 1602. E void FDECL(restpriest, (struct monst *,BOOLEAN_P)); 1603. 1604. /* ### quest.c ### */ 1605. 1606. E void NDECL(onquest); 1607. E void NDECL(nemdead); 1608. E void NDECL(artitouch); 1609. E boolean NDECL(ok_to_quest); 1610. E void FDECL(leader_speaks, (struct monst *)); 1611. E void NDECL(nemesis_speaks); 1612. E void FDECL(quest_chat, (struct monst *)); 1613. E void FDECL(quest_talk, (struct monst *)); 1614. E void FDECL(quest_stat_check, (struct monst *)); 1615. E void FDECL(finish_quest, (struct obj *)); 1616. 1617. /* ### questpgr.c ### */ 1618. 1619. E void NDECL(load_qtlist); 1620. E void NDECL(unload_qtlist); 1621. E short FDECL(quest_info, (int)); 1622. E const char *NDECL(ldrname); 1623. E boolean FDECL(is_quest_artifact, (struct obj*)); 1624. E void FDECL(com_pager, (int)); 1625. E void FDECL(qt_pager, (int)); 1626. E struct permonst *NDECL(qt_montype); 1627. 1628. /* ### random.c ### */ 1629. 1630. #if defined(RANDOM) && !defined(__GO32__) /* djgpp has its own random */ 1631. E void FDECL(srandom, (unsigned)); 1632. E char *FDECL(initstate, (unsigned,char *,int)); 1633. E char *FDECL(setstate, (char *)); 1634. E long NDECL(random); 1635. #endif /* RANDOM */ 1636. 1637. /* ### read.c ### */ 1638. 1639. E int NDECL(doread); 1640. E boolean FDECL(is_chargeable, (struct obj *)); 1641. E void FDECL(recharge, (struct obj *,int)); 1642. E void FDECL(forget_objects, (int)); 1643. E void FDECL(forget_levels, (int)); 1644. E void NDECL(forget_traps); 1645. E void FDECL(forget_map, (int)); 1646. E int FDECL(seffects, (struct obj *)); 1647. #ifdef USE_TRAMPOLI 1648. E void FDECL(set_lit, (int,int,genericptr_t)); 1649. #endif 1650. E void FDECL(litroom, (BOOLEAN_P,struct obj *)); 1651. E void FDECL(do_genocide, (int)); 1652. E void FDECL(punish, (struct obj *)); 1653. E void NDECL(unpunish); 1654. E boolean FDECL(cant_create, (int *, BOOLEAN_P)); 1655. #ifdef WIZARD 1656. E boolean NDECL(create_particular); 1657. #endif 1658. 1659. /* ### rect.c ### */ 1660. 1661. E void NDECL(init_rect); 1662. E NhRect *FDECL(get_rect, (NhRect *)); 1663. E NhRect *NDECL(rnd_rect); 1664. E void FDECL(remove_rect, (NhRect *)); 1665. E void FDECL(add_rect, (NhRect *)); 1666. E void FDECL(split_rects, (NhRect *,NhRect *)); 1667. 1668. /* ## region.c ### */ 1669. E void NDECL(clear_regions); 1670. E void NDECL(run_regions); 1671. E boolean FDECL(in_out_region, (XCHAR_P,XCHAR_P)); 1672. E boolean FDECL(m_in_out_region, (struct monst *,XCHAR_P,XCHAR_P)); 1673. E void NDECL(update_player_regions); 1674. E void FDECL(update_monster_region, (struct monst *)); 1675. E NhRegion *FDECL(visible_region_at, (XCHAR_P,XCHAR_P)); 1676. E void FDECL(show_region, (NhRegion*, XCHAR_P, XCHAR_P)); 1677. E void FDECL(save_regions, (int,int)); 1678. E void FDECL(rest_regions, (int,BOOLEAN_P)); 1679. E NhRegion* FDECL(create_gas_cloud, (XCHAR_P, XCHAR_P, int, int)); 1680. 1681. /* ### restore.c ### */ 1682. 1683. E void FDECL(inven_inuse, (BOOLEAN_P)); 1684. E int FDECL(dorecover, (int)); 1685. E void FDECL(trickery, (char *)); 1686. E void FDECL(getlev, (int,int,XCHAR_P,BOOLEAN_P)); 1687. E void NDECL(minit); 1688. E boolean FDECL(lookup_id_mapping, (unsigned, unsigned *)); 1689. #ifdef ZEROCOMP 1690. E int FDECL(mread, (int,genericptr_t,unsigned int)); 1691. #else 1692. E void FDECL(mread, (int,genericptr_t,unsigned int)); 1693. #endif 1694. 1695. /* ### rip.c ### */ 1696. 1697. E void FDECL(genl_outrip, (winid,int)); 1698. 1699. /* ### rnd.c ### */ 1700. 1701. E int FDECL(rn2, (int)); 1702. E int FDECL(rnl, (int)); 1703. E int FDECL(rnd, (int)); 1704. E int FDECL(d, (int,int)); 1705. E int FDECL(rne, (int)); 1706. E int FDECL(rnz, (int)); 1707. 1708. /* ### role.c ### */ 1709. 1710. E boolean FDECL(validrole, (int)); 1711. E boolean FDECL(validrace, (int, int)); 1712. E boolean FDECL(validgend, (int, int, int)); 1713. E boolean FDECL(validalign, (int, int, int)); 1714. E int NDECL(randrole); 1715. E int FDECL(randrace, (int)); 1716. E int FDECL(randgend, (int, int)); 1717. E int FDECL(randalign, (int, int)); 1718. E int FDECL(str2role, (char *)); 1719. E int FDECL(str2race, (char *)); 1720. E int FDECL(str2gend, (char *)); 1721. E int FDECL(str2align, (char *)); 1722. E boolean FDECL(ok_role, (int, int, int, int)); 1723. E int FDECL(pick_role, (int, int, int, int)); 1724. E boolean FDECL(ok_race, (int, int, int, int)); 1725. E int FDECL(pick_race, (int, int, int, int)); 1726. E boolean FDECL(ok_gend, (int, int, int, int)); 1727. E int FDECL(pick_gend, (int, int, int, int)); 1728. E boolean FDECL(ok_align, (int, int, int, int)); 1729. E int FDECL(pick_align, (int, int, int, int)); 1730. E void NDECL(role_init); 1731. E void NDECL(rigid_role_checks); 1732. E void NDECL(plnamesuffix); 1733. E const char *FDECL(Hello, (struct monst *)); 1734. E const char *NDECL(Goodbye); 1735. E char *FDECL(build_plselection_prompt, (char *, int, int, int, int, int)); 1736. E char *FDECL(root_plselection_prompt, (char *, int, int, int, int, int)); 1737. 1738. /* ### rumors.c ### */ 1739. 1740. E char *FDECL(getrumor, (int,char *, BOOLEAN_P)); 1741. E void FDECL(outrumor, (int,int)); 1742. E void FDECL(outoracle, (BOOLEAN_P, BOOLEAN_P)); 1743. E void FDECL(save_oracles, (int,int)); 1744. E void FDECL(restore_oracles, (int)); 1745. E int FDECL(doconsult, (struct monst *)); 1746. 1747. /* ### save.c ### */ 1748. 1749. E int NDECL(dosave); 1750. #if defined(UNIX) || defined(VMS) || defined(__EMX__) || defined(WIN32) 1751. E void FDECL(hangup, (int)); 1752. #endif 1753. E int NDECL(dosave0); 1754. #ifdef INSURANCE 1755. E void NDECL(savestateinlock); 1756. #endif 1757. #ifdef MFLOPPY 1758. E boolean FDECL(savelev, (int,XCHAR_P,int)); 1759. E boolean FDECL(swapin_file, (int)); 1760. E void NDECL(co_false); 1761. #else 1762. E void FDECL(savelev, (int,XCHAR_P,int)); 1763. #endif 1764. E void FDECL(bufon, (int)); 1765. E void FDECL(bufoff, (int)); 1766. E void FDECL(bflush, (int)); 1767. E void FDECL(bwrite, (int,genericptr_t,unsigned int)); 1768. E void FDECL(bclose, (int)); 1769. E void FDECL(savefruitchn, (int,int)); 1770. E void NDECL(free_dungeons); 1771. E void NDECL(freedynamicdata); 1772. 1773. /* ### shk.c ### */ 1774. 1775. #ifdef GOLDOBJ 1776. E long FDECL(money2mon, (struct monst *, long)); 1777. E void FDECL(money2u, (struct monst *, long)); 1778. #endif 1779. E char *FDECL(shkname, (struct monst *)); 1780. E void FDECL(shkgone, (struct monst *)); 1781. E void FDECL(set_residency, (struct monst *,BOOLEAN_P)); 1782. E void FDECL(replshk, (struct monst *,struct monst *)); 1783. E void FDECL(restshk, (struct monst *,BOOLEAN_P)); 1784. E char FDECL(inside_shop, (XCHAR_P,XCHAR_P)); 1785. E void FDECL(u_left_shop, (char *,BOOLEAN_P)); 1786. E void FDECL(remote_burglary, (XCHAR_P,XCHAR_P)); 1787. E void FDECL(u_entered_shop, (char *)); 1788. E boolean FDECL(same_price, (struct obj *,struct obj *)); 1789. E void NDECL(shopper_financial_report); 1790. E int FDECL(inhishop, (struct monst *)); 1791. E struct monst *FDECL(shop_keeper, (CHAR_P)); 1792. E boolean FDECL(tended_shop, (struct mkroom *)); 1793. E void FDECL(delete_contents, (struct obj *)); 1794. E void FDECL(obfree, (struct obj *,struct obj *)); 1795. E void FDECL(home_shk, (struct monst *,BOOLEAN_P)); 1796. E void FDECL(make_happy_shk, (struct monst *,BOOLEAN_P)); 1797. E void FDECL(hot_pursuit, (struct monst *)); 1798. E void FDECL(make_angry_shk, (struct monst *,XCHAR_P,XCHAR_P)); 1799. E int NDECL(dopay); 1800. E boolean FDECL(paybill, (int)); 1801. E void NDECL(finish_paybill); 1802. E struct obj *FDECL(find_oid, (unsigned)); 1803. E long FDECL(contained_cost, (struct obj *,struct monst *,long,BOOLEAN_P, BOOLEAN_P)); 1804. E long FDECL(contained_gold, (struct obj *)); 1805. E void FDECL(picked_container, (struct obj *)); 1806. E long FDECL(unpaid_cost, (struct obj *)); 1807. E void FDECL(addtobill, (struct obj *,BOOLEAN_P,BOOLEAN_P,BOOLEAN_P)); 1808. E void FDECL(splitbill, (struct obj *,struct obj *)); 1809. E void FDECL(subfrombill, (struct obj *,struct monst *)); 1810. E long FDECL(stolen_value, (struct obj *,XCHAR_P,XCHAR_P,BOOLEAN_P,BOOLEAN_P)); 1811. E void FDECL(sellobj_state, (int)); 1812. E void FDECL(sellobj, (struct obj *,XCHAR_P,XCHAR_P)); 1813. E int FDECL(doinvbill, (int)); 1814. E struct monst *FDECL(shkcatch, (struct obj *,XCHAR_P,XCHAR_P)); 1815. E void FDECL(add_damage, (XCHAR_P,XCHAR_P,long)); 1816. E int FDECL(repair_damage, (struct monst *,struct damage *,BOOLEAN_P)); 1817. E int FDECL(shk_move, (struct monst *)); 1818. E void FDECL(after_shk_move, (struct monst *)); 1819. E boolean FDECL(is_fshk, (struct monst *)); 1820. E void FDECL(shopdig, (int)); 1821. E void FDECL(pay_for_damage, (const char *,BOOLEAN_P)); 1822. E boolean FDECL(costly_spot, (XCHAR_P,XCHAR_P)); 1823. E struct obj *FDECL(shop_object, (XCHAR_P,XCHAR_P)); 1824. E void FDECL(price_quote, (struct obj *)); 1825. E void FDECL(shk_chat, (struct monst *)); 1826. E void FDECL(check_unpaid_usage, (struct obj *,BOOLEAN_P)); 1827. E void FDECL(check_unpaid, (struct obj *)); 1828. E void FDECL(costly_gold, (XCHAR_P,XCHAR_P,long)); 1829. E boolean FDECL(block_door, (XCHAR_P,XCHAR_P)); 1830. E boolean FDECL(block_entry, (XCHAR_P,XCHAR_P)); 1831. E char *FDECL(shk_your, (char *,struct obj *)); 1832. E char *FDECL(Shk_Your, (char *,struct obj *)); 1833. 1834. /* ### shknam.c ### */ 1835. 1836. E void FDECL(stock_room, (int,struct mkroom *)); 1837. E boolean FDECL(saleable, (struct monst *,struct obj *)); 1838. E int FDECL(get_shop_item, (int)); 1839. 1840. /* ### sit.c ### */ 1841. 1842. E void NDECL(take_gold); 1843. E int NDECL(dosit); 1844. E void NDECL(rndcurse); 1845. E void NDECL(attrcurse); 1846. 1847. /* ### sounds.c ### */ 1848. 1849. E void NDECL(dosounds); 1850. E const char *FDECL(growl_sound, (struct monst *)); 1851. E void FDECL(growl, (struct monst *)); 1852. E void FDECL(yelp, (struct monst *)); 1853. E void FDECL(whimper, (struct monst *)); 1854. E void FDECL(beg, (struct monst *)); 1855. E int NDECL(dotalk); 1856. #ifdef USER_SOUNDS 1857. E int FDECL(add_sound_mapping, (const char *)); 1858. E void FDECL(play_sound_for_message, (const char *)); 1859. #endif 1860. 1861. /* ### sys/msdos/sound.c ### */ 1862. 1863. #ifdef MSDOS 1864. E int FDECL(assign_soundcard, (char *)); 1865. #endif 1866. 1867. /* ### sp_lev.c ### */ 1868. 1869. E boolean FDECL(check_room, (xchar *,xchar *,xchar *,xchar *,BOOLEAN_P)); 1870. E boolean FDECL(create_room, (XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P, 1871. XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P)); 1872. E void FDECL(create_secret_door, (struct mkroom *,XCHAR_P)); 1873. E boolean FDECL(dig_corridor, (coord *,coord *,BOOLEAN_P,SCHAR_P,SCHAR_P)); 1874. E void FDECL(fill_room, (struct mkroom *,BOOLEAN_P)); 1875. E boolean FDECL(load_special, (const char *)); 1876. 1877. /* ### spell.c ### */ 1878. 1879. #ifdef USE_TRAMPOLI 1880. E int NDECL(learn); 1881. #endif 1882. E int FDECL(study_book, (struct obj *)); 1883. E void FDECL(book_disappears, (struct obj *)); 1884. E void FDECL(book_substitution, (struct obj *,struct obj *)); 1885. E void NDECL(age_spells); 1886. E int NDECL(docast); 1887. E int FDECL(spell_skilltype, (int)); 1888. E int FDECL(spelleffects, (int,BOOLEAN_P)); 1889. E void NDECL(losespells); 1890. E int NDECL(dovspell); 1891. E void FDECL(initialspell, (struct obj *)); 1892. 1893. /* ### steal.c ### */ 1894. 1895. #ifdef USE_TRAMPOLI 1896. E int NDECL(stealarm); 1897. #endif 1898. #ifdef GOLDOBJ 1899. E long FDECL(somegold, (long)); 1900. #else 1901. E long NDECL(somegold); 1902. #endif 1903. E void FDECL(stealgold, (struct monst *)); 1904. E void FDECL(remove_worn_item, (struct obj *,BOOLEAN_P)); 1905. E int FDECL(steal, (struct monst *, char *)); 1906. E int FDECL(mpickobj, (struct monst *,struct obj *)); 1907. E void FDECL(stealamulet, (struct monst *)); 1908. E void FDECL(mdrop_special_objs, (struct monst *)); 1909. E void FDECL(relobj, (struct monst *,int,BOOLEAN_P)); 1910. #ifdef GOLDOBJ 1911. E struct obj *FDECL(findgold, (struct obj *)); 1912. #endif 1913. 1914. /* ### steed.c ### */ 1915. 1916. #ifdef STEED 1917. E void NDECL(rider_cant_reach); 1918. E boolean FDECL(can_saddle, (struct monst *)); 1919. E int FDECL(use_saddle, (struct obj *)); 1920. E boolean FDECL(can_ride, (struct monst *)); 1921. E int NDECL(doride); 1922. E boolean FDECL(mount_steed, (struct monst *, BOOLEAN_P)); 1923. E void NDECL(exercise_steed); 1924. E void NDECL(kick_steed); 1925. E void FDECL(dismount_steed, (int)); 1926. E void FDECL(place_monster, (struct monst *,int,int)); 1927. #endif 1928. 1929. /* ### teleport.c ### */ 1930. 1931. E boolean FDECL(goodpos, (int,int,struct monst *,unsigned)); 1932. E boolean FDECL(enexto, (coord *,XCHAR_P,XCHAR_P,struct permonst *)); 1933. E boolean FDECL(enexto_core, (coord *,XCHAR_P,XCHAR_P,struct permonst *,unsigned)); 1934. E void FDECL(teleds, (int,int,BOOLEAN_P)); 1935. E boolean FDECL(safe_teleds, (BOOLEAN_P)); 1936. E boolean FDECL(teleport_pet, (struct monst *,BOOLEAN_P)); 1937. E void NDECL(tele); 1938. E int NDECL(dotele); 1939. E void NDECL(level_tele); 1940. E void FDECL(domagicportal, (struct trap *)); 1941. E void FDECL(tele_trap, (struct trap *)); 1942. E void FDECL(level_tele_trap, (struct trap *)); 1943. E void FDECL(rloc_to, (struct monst *,int,int)); 1944. E boolean FDECL(rloc, (struct monst *, BOOLEAN_P)); 1945. E boolean FDECL(tele_restrict, (struct monst *)); 1946. E void FDECL(mtele_trap, (struct monst *, struct trap *,int)); 1947. E int FDECL(mlevel_tele_trap, (struct monst *, struct trap *,BOOLEAN_P,int)); 1948. E void FDECL(rloco, (struct obj *)); 1949. E int NDECL(random_teleport_level); 1950. E boolean FDECL(u_teleport_mon, (struct monst *,BOOLEAN_P)); 1951. 1952. /* ### tile.c ### */ 1953. #ifdef USE_TILES 1954. E void FDECL(substitute_tiles, (d_level *)); 1955. #endif 1956. 1957. /* ### timeout.c ### */ 1958. 1959. E void NDECL(burn_away_slime); 1960. E void NDECL(nh_timeout); 1961. E void FDECL(fall_asleep, (int, BOOLEAN_P)); 1962. E void FDECL(attach_egg_hatch_timeout, (struct obj *)); 1963. E void FDECL(attach_fig_transform_timeout, (struct obj *)); 1964. E void FDECL(kill_egg, (struct obj *)); 1965. E void FDECL(hatch_egg, (genericptr_t, long)); 1966. E void FDECL(learn_egg_type, (int)); 1967. E void FDECL(burn_object, (genericptr_t, long)); 1968. E void FDECL(begin_burn, (struct obj *, BOOLEAN_P)); 1969. E void FDECL(end_burn, (struct obj *, BOOLEAN_P)); 1970. E void NDECL(do_storms); 1971. E boolean FDECL(start_timer, (long, SHORT_P, SHORT_P, genericptr_t)); 1972. E long FDECL(stop_timer, (SHORT_P, genericptr_t)); 1973. E void NDECL(run_timers); 1974. E void FDECL(obj_move_timers, (struct obj *, struct obj *)); 1975. E void FDECL(obj_split_timers, (struct obj *, struct obj *)); 1976. E void FDECL(obj_stop_timers, (struct obj *)); 1977. E boolean FDECL(obj_is_local, (struct obj *)); 1978. E void FDECL(save_timers, (int,int,int)); 1979. E void FDECL(restore_timers, (int,int,BOOLEAN_P,long)); 1980. E void FDECL(relink_timers, (BOOLEAN_P)); 1981. #ifdef WIZARD 1982. E int NDECL(wiz_timeout_queue); 1983. E void NDECL(timer_sanity_check); 1984. #endif 1985. 1986. /* ### topten.c ### */ 1987. 1988. E void FDECL(topten, (int)); 1989. E void FDECL(prscore, (int,char **)); 1990. E struct obj *FDECL(tt_oname, (struct obj *)); 1991. 1992. /* ### track.c ### */ 1993. 1994. E void NDECL(initrack); 1995. E void NDECL(settrack); 1996. E coord *FDECL(gettrack, (int,int)); 1997. 1998. /* ### trap.c ### */ 1999. 2000. E boolean FDECL(burnarmor,(struct monst *)); 2001. E boolean FDECL(rust_dmg, (struct obj *,const char *,int,BOOLEAN_P,struct monst *)); 2002. E void FDECL(grease_protect, (struct obj *,const char *,struct monst *)); 2003. E struct trap *FDECL(maketrap, (int,int,int)); 2004. E void FDECL(fall_through, (BOOLEAN_P)); 2005. E struct monst *FDECL(animate_statue, (struct obj *,XCHAR_P,XCHAR_P,int,int *)); 2006. E struct monst *FDECL(activate_statue_trap, 2007. (struct trap *,XCHAR_P,XCHAR_P,BOOLEAN_P)); 2008. E void FDECL(dotrap, (struct trap *, unsigned)); 2009. E void FDECL(seetrap, (struct trap *)); 2010. E int FDECL(mintrap, (struct monst *)); 2011. E void FDECL(instapetrify, (const char *)); 2012. E void FDECL(minstapetrify, (struct monst *,BOOLEAN_P)); 2013. E void FDECL(selftouch, (const char *)); 2014. E void FDECL(mselftouch, (struct monst *,const char *,BOOLEAN_P)); 2015. E void NDECL(float_up); 2016. E void FDECL(fill_pit, (int,int)); 2017. E int FDECL(float_down, (long, long)); 2018. E int FDECL(fire_damage, (struct obj *,BOOLEAN_P,BOOLEAN_P,XCHAR_P,XCHAR_P)); 2019. E void FDECL(water_damage, (struct obj *,BOOLEAN_P,BOOLEAN_P)); 2020. E boolean NDECL(drown); 2021. E void FDECL(drain_en, (int)); 2022. E int NDECL(dountrap); 2023. E int FDECL(untrap, (BOOLEAN_P)); 2024. E boolean FDECL(chest_trap, (struct obj *,int,BOOLEAN_P)); 2025. E void FDECL(deltrap, (struct trap *)); 2026. E boolean FDECL(delfloortrap, (struct trap *)); 2027. E struct trap *FDECL(t_at, (int,int)); 2028. E void FDECL(b_trapped, (const char *,int)); 2029. E boolean NDECL(unconscious); 2030. E boolean NDECL(lava_effects); 2031. E void FDECL(blow_up_landmine, (struct trap *)); 2032. E int FDECL(launch_obj,(SHORT_P,int,int,int,int,int)); 2033. 2034. /* ### u_init.c ### */ 2035. 2036. E void NDECL(u_init); 2037. 2038. /* ### uhitm.c ### */ 2039. 2040. E void FDECL(hurtmarmor,(struct monst *,int)); 2041. E boolean FDECL(attack_checks, (struct monst *,struct obj *)); 2042. E void FDECL(check_caitiff, (struct monst *)); 2043. E schar FDECL(find_roll_to_hit, (struct monst *)); 2044. E boolean FDECL(attack, (struct monst *)); 2045. E boolean FDECL(hmon, (struct monst *,struct obj *,int)); 2046. E int FDECL(damageum, (struct monst *,struct attack *)); 2047. E void FDECL(missum, (struct monst *,struct attack *)); 2048. E int FDECL(passive, (struct monst *,BOOLEAN_P,int,UCHAR_P)); 2049. E void FDECL(passive_obj, (struct monst *,struct obj *,struct attack *)); 2050. E void FDECL(stumble_onto_mimic, (struct monst *)); 2051. E int FDECL(flash_hits_mon, (struct monst *,struct obj *)); 2052. 2053. /* ### unixmain.c ### */ 2054. 2055. #ifdef UNIX 2056. # ifdef PORT_HELP 2057. E void NDECL(port_help); 2058. # endif 2059. #endif /* UNIX */ 2060. 2061. 2062. /* ### unixtty.c ### */ 2063. 2064. #if defined(UNIX) || defined(__BEOS__) 2065. E void NDECL(gettty); 2066. E void FDECL(settty, (const char *)); 2067. E void NDECL(setftty); 2068. E void NDECL(intron); 2069. E void NDECL(introff); 2070. E void VDECL(error, (const char *,...)) PRINTF_F(1,2); 2071. #endif /* UNIX || __BEOS__ */ 2072. 2073. /* ### unixunix.c ### */ 2074. 2075. #ifdef UNIX 2076. E void NDECL(getlock); 2077. E void FDECL(regularize, (char *)); 2078. # if defined(TIMED_DELAY) && !defined(msleep) && defined(SYSV) 2079. E void FDECL(msleep, (unsigned)); 2080. # endif 2081. # ifdef SHELL 2082. E int NDECL(dosh); 2083. # endif /* SHELL */ 2084. # if defined(SHELL) || defined(DEF_PAGER) || defined(DEF_MAILREADER) 2085. E int FDECL(child, (int)); 2086. # endif 2087. #endif /* UNIX */ 2088. 2089. /* ### unixres.c ### */ 2090. 2091. #ifdef UNIX 2092. # ifdef GNOME_GRAPHICS 2093. E int FDECL(hide_privileges, (BOOLEAN_P)); 2094. # endif 2095. #endif /* UNIX */ 2096. 2097. /* ### vault.c ### */ 2098. 2099. E boolean FDECL(grddead, (struct monst *)); 2100. E char FDECL(vault_occupied, (char *)); 2101. E void NDECL(invault); 2102. E int FDECL(gd_move, (struct monst *)); 2103. E void NDECL(paygd); 2104. E long NDECL(hidden_gold); 2105. E boolean NDECL(gd_sound); 2106. 2107. /* ### version.c ### */ 2108. 2109. E char *FDECL(version_string, (char *)); 2110. E char *FDECL(getversionstring, (char *)); 2111. E int NDECL(doversion); 2112. E int NDECL(doextversion); 2113. #ifdef MICRO 2114. E boolean FDECL(comp_times, (long)); 2115. #endif 2116. E boolean FDECL(check_version, (struct version_info *, 2117. const char *,BOOLEAN_P)); 2118. E unsigned long FDECL(get_feature_notice_ver, (char *)); 2119. E unsigned long NDECL(get_current_feature_ver); 2120. #ifdef RUNTIME_PORT_ID 2121. E void FDECL(append_port_id, (char *)); 2122. #endif 2123. 2124. /* ### video.c ### */ 2125. 2126. #ifdef MSDOS 2127. E int FDECL(assign_video, (char *)); 2128. # ifdef NO_TERMS 2129. E void NDECL(gr_init); 2130. E void NDECL(gr_finish); 2131. # endif 2132. E void FDECL(tileview,(BOOLEAN_P)); 2133. #endif 2134. #ifdef VIDEOSHADES 2135. E int FDECL(assign_videoshades, (char *)); 2136. E int FDECL(assign_videocolors, (char *)); 2137. #endif 2138. 2139. /* ### vis_tab.c ### */ 2140. 2141. #ifdef VISION_TABLES 2142. E void NDECL(vis_tab_init); 2143. #endif 2144. 2145. /* ### vision.c ### */ 2146. 2147. E void NDECL(vision_init); 2148. E int FDECL(does_block, (int,int,struct rm*)); 2149. E void NDECL(vision_reset); 2150. E void FDECL(vision_recalc, (int)); 2151. E void FDECL(block_point, (int,int)); 2152. E void FDECL(unblock_point, (int,int)); 2153. E boolean FDECL(clear_path, (int,int,int,int)); 2154. E void FDECL(do_clear_area, (int,int,int, 2155. void (*)(int,int,genericptr_t),genericptr_t)); 2156. 2157. #ifdef VMS 2158. 2159. /* ### vmsfiles.c ### */ 2160. 2161. E int FDECL(vms_link, (const char *,const char *)); 2162. E int FDECL(vms_unlink, (const char *)); 2163. E int FDECL(vms_creat, (const char *,unsigned int)); 2164. E int FDECL(vms_open, (const char *,int,unsigned int)); 2165. E boolean FDECL(same_dir, (const char *,const char *)); 2166. E int FDECL(c__translate, (int)); 2167. E char *FDECL(vms_basename, (const char *)); 2168. 2169. /* ### vmsmail.c ### */ 2170. 2171. E unsigned long NDECL(init_broadcast_trapping); 2172. E unsigned long NDECL(enable_broadcast_trapping); 2173. E unsigned long NDECL(disable_broadcast_trapping); 2174. # if 0 2175. E struct mail_info *NDECL(parse_next_broadcast); 2176. # endif /*0*/ 2177. 2178. /* ### vmsmain.c ### */ 2179. 2180. E int FDECL(main, (int, char **)); 2181. # ifdef CHDIR 2182. E void FDECL(chdirx, (const char *,BOOLEAN_P)); 2183. # endif /* CHDIR */ 2184. 2185. /* ### vmsmisc.c ### */ 2186. 2187. E void NDECL(vms_abort); 2188. E void FDECL(vms_exit, (int)); 2189. 2190. /* ### vmstty.c ### */ 2191. 2192. E int NDECL(vms_getchar); 2193. E void NDECL(gettty); 2194. E void FDECL(settty, (const char *)); 2195. E void FDECL(shuttty, (const char *)); 2196. E void NDECL(setftty); 2197. E void NDECL(intron); 2198. E void NDECL(introff); 2199. E void VDECL(error, (const char *,...)) PRINTF_F(1,2); 2200. #ifdef TIMED_DELAY 2201. E void FDECL(msleep, (unsigned)); 2202. #endif 2203. 2204. /* ### vmsunix.c ### */ 2205. 2206. E void NDECL(getlock); 2207. E void FDECL(regularize, (char *)); 2208. E int NDECL(vms_getuid); 2209. E boolean FDECL(file_is_stmlf, (int)); 2210. E int FDECL(vms_define, (const char *,const char *,int)); 2211. E int FDECL(vms_putenv, (const char *)); 2212. E char *NDECL(verify_termcap); 2213. # if defined(CHDIR) || defined(SHELL) || defined(SECURE) 2214. E void NDECL(privoff); 2215. E void NDECL(privon); 2216. # endif 2217. # ifdef SHELL 2218. E int NDECL(dosh); 2219. # endif 2220. # if defined(SHELL) || defined(MAIL) 2221. E int FDECL(vms_doshell, (const char *,BOOLEAN_P)); 2222. # endif 2223. # ifdef SUSPEND 2224. E int NDECL(dosuspend); 2225. # endif 2226. 2227. #endif /* VMS */ 2228. 2229. /* ### weapon.c ### */ 2230. 2231. E int FDECL(hitval, (struct obj *,struct monst *)); 2232. E int FDECL(dmgval, (struct obj *,struct monst *)); 2233. E struct obj *FDECL(select_rwep, (struct monst *)); 2234. E struct obj *FDECL(select_hwep, (struct monst *)); 2235. E void FDECL(possibly_unwield, (struct monst *,BOOLEAN_P)); 2236. E int FDECL(mon_wield_item, (struct monst *)); 2237. E int NDECL(abon); 2238. E int NDECL(dbon); 2239. E int NDECL(enhance_weapon_skill); 2240. E void FDECL(unrestrict_weapon_skill, (int)); 2241. E void FDECL(use_skill, (int,int)); 2242. E void FDECL(add_weapon_skill, (int)); 2243. E void FDECL(lose_weapon_skill, (int)); 2244. E int FDECL(weapon_type, (struct obj *)); 2245. E int NDECL(uwep_skill_type); 2246. E int FDECL(weapon_hit_bonus, (struct obj *)); 2247. E int FDECL(weapon_dam_bonus, (struct obj *)); 2248. E void FDECL(skill_init, (const struct def_skill *)); 2249. 2250. /* ### were.c ### */ 2251. 2252. E void FDECL(were_change, (struct monst *)); 2253. E void FDECL(new_were, (struct monst *)); 2254. E int FDECL(were_summon, (struct permonst *,BOOLEAN_P,int *,char *)); 2255. E void NDECL(you_were); 2256. E void FDECL(you_unwere, (BOOLEAN_P)); 2257. 2258. /* ### wield.c ### */ 2259. 2260. E void FDECL(setuwep, (struct obj *)); 2261. E void FDECL(setuqwep, (struct obj *)); 2262. E void FDECL(setuswapwep, (struct obj *)); 2263. E int NDECL(dowield); 2264. E int NDECL(doswapweapon); 2265. E int NDECL(dowieldquiver); 2266. E boolean FDECL(wield_tool, (struct obj *,const char *)); 2267. E int NDECL(can_twoweapon); 2268. E void NDECL(drop_uswapwep); 2269. E int NDECL(dotwoweapon); 2270. E void NDECL(uwepgone); 2271. E void NDECL(uswapwepgone); 2272. E void NDECL(uqwepgone); 2273. E void NDECL(untwoweapon); 2274. E void FDECL(erode_obj, (struct obj *,BOOLEAN_P,BOOLEAN_P)); 2275. E int FDECL(chwepon, (struct obj *,int)); 2276. E int FDECL(welded, (struct obj *)); 2277. E void FDECL(weldmsg, (struct obj *)); 2278. E void FDECL(setmnotwielded, (struct monst *,struct obj *)); 2279. 2280. /* ### windows.c ### */ 2281. 2282. E void FDECL(choose_windows, (const char *)); 2283. E char FDECL(genl_message_menu, (CHAR_P,int,const char *)); 2284. E void FDECL(genl_preference_update, (const char *)); 2285. 2286. /* ### wizard.c ### */ 2287. 2288. E void NDECL(amulet); 2289. E int FDECL(mon_has_amulet, (struct monst *)); 2290. E int FDECL(mon_has_special, (struct monst *)); 2291. E int FDECL(tactics, (struct monst *)); 2292. E void NDECL(aggravate); 2293. E void NDECL(clonewiz); 2294. E int NDECL(pick_nasty); 2295. E int FDECL(nasty, (struct monst*)); 2296. E void NDECL(resurrect); 2297. E void NDECL(intervene); 2298. E void NDECL(wizdead); 2299. E void FDECL(cuss, (struct monst *)); 2300. 2301. /* ### worm.c ### */ 2302. 2303. E int NDECL(get_wormno); 2304. E void FDECL(initworm, (struct monst *,int)); 2305. E void FDECL(worm_move, (struct monst *)); 2306. E void FDECL(worm_nomove, (struct monst *)); 2307. E void FDECL(wormgone, (struct monst *)); 2308. E void FDECL(wormhitu, (struct monst *)); 2309. E void FDECL(cutworm, (struct monst *,XCHAR_P,XCHAR_P,struct obj *)); 2310. E void FDECL(see_wsegs, (struct monst *)); 2311. E void FDECL(detect_wsegs, (struct monst *,BOOLEAN_P)); 2312. E void FDECL(save_worm, (int,int)); 2313. E void FDECL(rest_worm, (int)); 2314. E void FDECL(place_wsegs, (struct monst *)); 2315. E void FDECL(remove_worm, (struct monst *)); 2316. E void FDECL(place_worm_tail_randomly, (struct monst *,XCHAR_P,XCHAR_P)); 2317. E int FDECL(count_wsegs, (struct monst *)); 2318. E boolean FDECL(worm_known, (struct monst *)); 2319. 2320. /* ### worn.c ### */ 2321. 2322. E void FDECL(setworn, (struct obj *,long)); 2323. E void FDECL(setnotworn, (struct obj *)); 2324. E void FDECL(mon_set_minvis, (struct monst *)); 2325. E void FDECL(mon_adjust_speed, (struct monst *,int,struct obj *)); 2326. E void FDECL(update_mon_intrinsics, 2327. (struct monst *,struct obj *,BOOLEAN_P,BOOLEAN_P)); 2328. E int FDECL(find_mac, (struct monst *)); 2329. E void FDECL(m_dowear, (struct monst *,BOOLEAN_P)); 2330. E struct obj *FDECL(which_armor, (struct monst *,long)); 2331. E void FDECL(mon_break_armor, (struct monst *,BOOLEAN_P)); 2332. E void FDECL(bypass_obj, (struct obj *)); 2333. E void NDECL(clear_bypasses); 2334. E int FDECL(racial_exception, (struct monst *, struct obj *)); 2335. 2336. /* ### write.c ### */ 2337. 2338. E int FDECL(dowrite, (struct obj *)); 2339. 2340. /* ### zap.c ### */ 2341. 2342. E int FDECL(bhitm, (struct monst *,struct obj *)); 2343. E void FDECL(probe_monster, (struct monst *)); 2344. E boolean FDECL(get_obj_location, (struct obj *,xchar *,xchar *,int)); 2345. E boolean FDECL(get_mon_location, (struct monst *,xchar *,xchar *,int)); 2346. E struct monst *FDECL(get_container_location, (struct obj *obj, int *, int *)); 2347. E struct monst *FDECL(montraits, (struct obj *,coord *)); 2348. E struct monst *FDECL(revive, (struct obj *)); 2349. E int FDECL(unturn_dead, (struct monst *)); 2350. E void FDECL(cancel_item, (struct obj *)); 2351. E boolean FDECL(drain_item, (struct obj *)); 2352. E struct obj *FDECL(poly_obj, (struct obj *, int)); 2353. E boolean FDECL(obj_resists, (struct obj *,int,int)); 2354. E boolean FDECL(obj_shudders, (struct obj *)); 2355. E void FDECL(do_osshock, (struct obj *)); 2356. E int FDECL(bhito, (struct obj *,struct obj *)); 2357. E int FDECL(bhitpile, (struct obj *,int (*)(OBJ_P,OBJ_P),int,int)); 2358. E int FDECL(zappable, (struct obj *)); 2359. E void FDECL(zapnodir, (struct obj *)); 2360. E int NDECL(dozap); 2361. E int FDECL(zapyourself, (struct obj *,BOOLEAN_P)); 2362. E boolean FDECL(cancel_monst, (struct monst *,struct obj *, 2363. BOOLEAN_P,BOOLEAN_P,BOOLEAN_P)); 2364. E void FDECL(weffects, (struct obj *)); 2365. E int NDECL(spell_damage_bonus); 2366. E const char *FDECL(exclam, (int force)); 2367. E void FDECL(hit, (const char *,struct monst *,const char *)); 2368. E void FDECL(miss, (const char *,struct monst *)); 2369. E struct monst *FDECL(bhit, (int,int,int,int,int (*)(MONST_P,OBJ_P), 2370. int (*)(OBJ_P,OBJ_P),struct obj *)); 2371. E struct monst *FDECL(boomhit, (int,int)); 2372. E int FDECL(burn_floor_paper, (int,int,BOOLEAN_P,BOOLEAN_P)); 2373. E void FDECL(buzz, (int,int,XCHAR_P,XCHAR_P,int,int)); 2374. E void FDECL(melt_ice, (XCHAR_P,XCHAR_P)); 2375. E int FDECL(zap_over_floor, (XCHAR_P,XCHAR_P,int,boolean *)); 2376. E void FDECL(fracture_rock, (struct obj *)); 2377. E boolean FDECL(break_statue, (struct obj *)); 2378. E void FDECL(destroy_item, (int,int)); 2379. E int FDECL(destroy_mitem, (struct monst *,int,int)); 2380. E int FDECL(resist, (struct monst *,CHAR_P,int,int)); 2381. E void NDECL(makewish); 2382. 2383. #endif /* !MAKEDEFS_C && !LEV_LEX_C */ 2384. 2385. #undef E 2386. 2387. #endif /* EXTERN_H */