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