Source:Extern.h

Below is the full text to include/extern.h from NetHack 3.4.3. To link to a particular line, write [[extern.h#line123 ]], for example. 1.   /*	SCCS Id: @(#)extern.h	3.4	2003/03/10	*/ 2.   /* Copyright (c) Steve Creps, 1988. */ 3.    /* NetHack may be freely redistributed. See license for details. */ 4.

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