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