Source:SLASH'EM 0.0.7E7F2/extern.h

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 [[SLASH'EM 0.0.7E7F2/extern.h#line123 ]], for example.

The latest source code for vanilla NetHack is at Source code.

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 */