Merge branch 'NetHack-3.6.2'
This commit is contained in:
368
include/rm.h
368
include/rm.h
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 rm.h $NHDT-Date: 1543052680 2018/11/24 09:44:40 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.59 $ */
|
||||
/* NetHack 3.6 rm.h $NHDT-Date: 1547255911 2019/01/12 01:18:31 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.60 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/*-Copyright (c) Pasi Kallinen, 2017. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -17,18 +17,18 @@
|
||||
*/
|
||||
|
||||
/*
|
||||
* TLCORNER TDWALL TRCORNER
|
||||
* +- -+- -+
|
||||
* | | |
|
||||
* TLCORNER TDWALL TRCORNER
|
||||
* +- -+- -+
|
||||
* | | |
|
||||
*
|
||||
* TRWALL CROSSWALL TLWALL HWALL
|
||||
* | | |
|
||||
* +- -+- -+ ---
|
||||
* | | |
|
||||
* TRWALL CROSSWALL TLWALL HWALL
|
||||
* | | |
|
||||
* +- -+- -+ ---
|
||||
* | | |
|
||||
*
|
||||
* BLCORNER TUWALL BRCORNER VWALL
|
||||
* | | | |
|
||||
* +- -+- -+ |
|
||||
* BLCORNER TUWALL BRCORNER VWALL
|
||||
* | | | |
|
||||
* +- -+- -+ |
|
||||
*/
|
||||
|
||||
/* Level location types. [Some debugging code in src/display.c
|
||||
@@ -36,44 +36,44 @@
|
||||
these, so needs to be kept in sync if any new types are added
|
||||
or existing ones renumbered.] */
|
||||
enum levl_typ_types {
|
||||
STONE = 0,
|
||||
VWALL,
|
||||
HWALL,
|
||||
TLCORNER,
|
||||
TRCORNER,
|
||||
BLCORNER,
|
||||
BRCORNER,
|
||||
CROSSWALL, /* For pretty mazes and special levels */
|
||||
TUWALL,
|
||||
TDWALL,
|
||||
TLWALL,
|
||||
TRWALL,
|
||||
DBWALL,
|
||||
TREE, /* KMH */
|
||||
SDOOR,
|
||||
SCORR,
|
||||
POOL,
|
||||
MOAT, /* pool that doesn't boil, adjust messages */
|
||||
WATER,
|
||||
DRAWBRIDGE_UP,
|
||||
LAVAPOOL,
|
||||
IRONBARS, /* KMH */
|
||||
DOOR,
|
||||
CORR,
|
||||
ROOM,
|
||||
STAIRS,
|
||||
LADDER,
|
||||
FOUNTAIN,
|
||||
THRONE,
|
||||
SINK,
|
||||
GRAVE,
|
||||
ALTAR,
|
||||
ICE,
|
||||
DRAWBRIDGE_DOWN,
|
||||
AIR,
|
||||
CLOUD,
|
||||
STONE = 0,
|
||||
VWALL = 1,
|
||||
HWALL = 2,
|
||||
TLCORNER = 3,
|
||||
TRCORNER = 4,
|
||||
BLCORNER = 5,
|
||||
BRCORNER = 6,
|
||||
CROSSWALL = 7, /* For pretty mazes and special levels */
|
||||
TUWALL = 8,
|
||||
TDWALL = 9,
|
||||
TLWALL = 10,
|
||||
TRWALL = 11,
|
||||
DBWALL = 12,
|
||||
TREE = 13, /* KMH */
|
||||
SDOOR = 14,
|
||||
SCORR = 15,
|
||||
POOL = 16,
|
||||
MOAT = 17, /* pool that doesn't boil, adjust messages */
|
||||
WATER = 18,
|
||||
DRAWBRIDGE_UP = 19,
|
||||
LAVAPOOL = 20,
|
||||
IRONBARS = 21, /* KMH */
|
||||
DOOR = 22,
|
||||
CORR = 23,
|
||||
ROOM = 24,
|
||||
STAIRS = 25,
|
||||
LADDER = 26,
|
||||
FOUNTAIN = 27,
|
||||
THRONE = 28,
|
||||
SINK = 29,
|
||||
GRAVE = 30,
|
||||
ALTAR = 31,
|
||||
ICE = 32,
|
||||
DRAWBRIDGE_DOWN = 33,
|
||||
AIR = 34,
|
||||
CLOUD = 35,
|
||||
|
||||
MAX_TYPE,
|
||||
MAX_TYPE = 36,
|
||||
INVALID_TYPE = 127
|
||||
};
|
||||
|
||||
@@ -114,121 +114,121 @@ enum levl_typ_types {
|
||||
|
||||
/* begin dungeon characters */
|
||||
enum screen_symbols {
|
||||
S_stone = 0,
|
||||
S_vwall,
|
||||
S_hwall,
|
||||
S_tlcorn,
|
||||
S_trcorn,
|
||||
S_blcorn,
|
||||
S_brcorn,
|
||||
S_crwall,
|
||||
S_tuwall,
|
||||
S_tdwall,
|
||||
S_tlwall,
|
||||
S_trwall,
|
||||
S_ndoor,
|
||||
S_vodoor,
|
||||
S_hodoor,
|
||||
S_vcdoor, /* closed door, vertical wall */
|
||||
S_hcdoor, /* closed door, horizontal wall */
|
||||
S_bars, /* KMH -- iron bars */
|
||||
S_tree, /* KMH */
|
||||
S_room,
|
||||
S_darkroom,
|
||||
S_corr,
|
||||
S_litcorr,
|
||||
S_upstair,
|
||||
S_dnstair,
|
||||
S_upladder,
|
||||
S_dnladder,
|
||||
S_altar,
|
||||
S_grave,
|
||||
S_throne,
|
||||
S_sink,
|
||||
S_fountain,
|
||||
S_pool,
|
||||
S_ice,
|
||||
S_lava,
|
||||
S_vodbridge,
|
||||
S_hodbridge,
|
||||
S_vcdbridge, /* closed drawbridge, vertical wall */
|
||||
S_hcdbridge, /* closed drawbridge, horizontal wall */
|
||||
S_air,
|
||||
S_cloud,
|
||||
S_water,
|
||||
S_stone = 0,
|
||||
S_vwall = 1,
|
||||
S_hwall = 2,
|
||||
S_tlcorn = 3,
|
||||
S_trcorn = 4,
|
||||
S_blcorn = 5,
|
||||
S_brcorn = 6,
|
||||
S_crwall = 7,
|
||||
S_tuwall = 8,
|
||||
S_tdwall = 9,
|
||||
S_tlwall = 10,
|
||||
S_trwall = 11,
|
||||
S_ndoor = 12,
|
||||
S_vodoor = 13,
|
||||
S_hodoor = 14,
|
||||
S_vcdoor = 15, /* closed door, vertical wall */
|
||||
S_hcdoor = 16, /* closed door, horizontal wall */
|
||||
S_bars = 17, /* KMH -- iron bars */
|
||||
S_tree = 18, /* KMH */
|
||||
S_room = 19,
|
||||
S_darkroom = 20,
|
||||
S_corr = 21,
|
||||
S_litcorr = 22,
|
||||
S_upstair = 23,
|
||||
S_dnstair = 24,
|
||||
S_upladder = 25,
|
||||
S_dnladder = 26,
|
||||
S_altar = 27,
|
||||
S_grave = 28,
|
||||
S_throne = 29,
|
||||
S_sink = 30,
|
||||
S_fountain = 31,
|
||||
S_pool = 32,
|
||||
S_ice = 33,
|
||||
S_lava = 34,
|
||||
S_vodbridge = 35,
|
||||
S_hodbridge = 36,
|
||||
S_vcdbridge = 37, /* closed drawbridge, vertical wall */
|
||||
S_hcdbridge = 38, /* closed drawbridge, horizontal wall */
|
||||
S_air = 39,
|
||||
S_cloud = 40,
|
||||
S_water = 41,
|
||||
|
||||
/* end dungeon characters, begin traps */
|
||||
|
||||
S_arrow_trap,
|
||||
S_dart_trap,
|
||||
S_falling_rock_trap,
|
||||
S_squeaky_board,
|
||||
S_bear_trap,
|
||||
S_land_mine,
|
||||
S_rolling_boulder_trap,
|
||||
S_sleeping_gas_trap,
|
||||
S_rust_trap,
|
||||
S_fire_trap,
|
||||
S_pit,
|
||||
S_spiked_pit,
|
||||
S_hole,
|
||||
S_trap_door,
|
||||
S_teleportation_trap,
|
||||
S_level_teleporter,
|
||||
S_magic_portal,
|
||||
S_web,
|
||||
S_statue_trap,
|
||||
S_magic_trap,
|
||||
S_anti_magic_trap,
|
||||
S_polymorph_trap,
|
||||
S_vibrating_square,
|
||||
S_arrow_trap = 42,
|
||||
S_dart_trap = 43,
|
||||
S_falling_rock_trap = 44,
|
||||
S_squeaky_board = 45,
|
||||
S_bear_trap = 46,
|
||||
S_land_mine = 47,
|
||||
S_rolling_boulder_trap = 48,
|
||||
S_sleeping_gas_trap = 49,
|
||||
S_rust_trap = 50,
|
||||
S_fire_trap = 51,
|
||||
S_pit = 52,
|
||||
S_spiked_pit = 53,
|
||||
S_hole = 54,
|
||||
S_trap_door = 55,
|
||||
S_teleportation_trap = 56,
|
||||
S_level_teleporter = 57,
|
||||
S_magic_portal = 58,
|
||||
S_web = 59,
|
||||
S_statue_trap = 60,
|
||||
S_magic_trap = 61,
|
||||
S_anti_magic_trap = 62,
|
||||
S_polymorph_trap = 63,
|
||||
S_vibrating_square = 64, /* for display rather than any trap effect */
|
||||
|
||||
/* end traps, begin special effects */
|
||||
|
||||
S_vbeam, /* The 4 zap beam symbols. Do NOT separate. */
|
||||
S_hbeam, /* To change order or add, see function */
|
||||
S_lslant, /* zapdir_to_glyph() in display.c. */
|
||||
S_rslant,
|
||||
S_digbeam, /* dig beam symbol */
|
||||
S_flashbeam, /* camera flash symbol */
|
||||
S_boomleft, /* thrown boomerang, open left, e.g ')' */
|
||||
S_boomright, /* thrown boomerang, open right, e.g. '(' */
|
||||
S_ss1, /* 4 magic shield glyphs */
|
||||
S_ss2,
|
||||
S_ss3,
|
||||
S_ss4,
|
||||
S_poisoncloud,
|
||||
S_goodpos, /* valid position for targeting */
|
||||
S_vbeam = 65, /* The 4 zap beam symbols. Do NOT separate. */
|
||||
S_hbeam = 66, /* To change order or add, see function */
|
||||
S_lslant = 67, /* zapdir_to_glyph() in display.c. */
|
||||
S_rslant = 68,
|
||||
S_digbeam = 69, /* dig beam symbol */
|
||||
S_flashbeam = 70, /* camera flash symbol */
|
||||
S_boomleft = 71, /* thrown boomerang, open left, e.g ')' */
|
||||
S_boomright = 72, /* thrown boomerang, open right, e.g. '(' */
|
||||
S_ss1 = 73, /* 4 magic shield ("resistance sparkle") glyphs */
|
||||
S_ss2 = 74,
|
||||
S_ss3 = 75,
|
||||
S_ss4 = 76,
|
||||
S_poisoncloud = 77,
|
||||
S_goodpos = 78, /* valid position for targeting via getpos() */
|
||||
|
||||
/* The 8 swallow symbols. Do NOT separate. To change order or add, see */
|
||||
/* the function swallow_to_glyph() in display.c. */
|
||||
S_sw_tl, /* swallow top left [1] */
|
||||
S_sw_tc, /* swallow top center [2] Order: */
|
||||
S_sw_tr, /* swallow top right [3] */
|
||||
S_sw_ml, /* swallow middle left [4] 1 2 3 */
|
||||
S_sw_mr, /* swallow middle right [6] 4 5 6 */
|
||||
S_sw_bl, /* swallow bottom left [7] 7 8 9 */
|
||||
S_sw_bc, /* swallow bottom center [8] */
|
||||
S_sw_br, /* swallow bottom right [9] */
|
||||
/* The 8 swallow symbols. Do NOT separate. To change order or add, */
|
||||
/* see the function swallow_to_glyph() in display.c. */
|
||||
S_sw_tl = 79, /* swallow top left [1] */
|
||||
S_sw_tc = 80, /* swallow top center [2] Order: */
|
||||
S_sw_tr = 81, /* swallow top right [3] */
|
||||
S_sw_ml = 82, /* swallow middle left [4] 1 2 3 */
|
||||
S_sw_mr = 83, /* swallow middle right [6] 4 5 6 */
|
||||
S_sw_bl = 84, /* swallow bottom left [7] 7 8 9 */
|
||||
S_sw_bc = 85, /* swallow bottom center [8] */
|
||||
S_sw_br = 86, /* swallow bottom right [9] */
|
||||
|
||||
S_explode1, /* explosion top left */
|
||||
S_explode2, /* explosion top center */
|
||||
S_explode3, /* explosion top right Ex. */
|
||||
S_explode4, /* explosion middle left */
|
||||
S_explode5, /* explosion middle center /-\ */
|
||||
S_explode6, /* explosion middle right |@| */
|
||||
S_explode7, /* explosion bottom left \-/ */
|
||||
S_explode8, /* explosion bottom center */
|
||||
S_explode9, /* explosion bottom right */
|
||||
S_explode1 = 87, /* explosion top left */
|
||||
S_explode2 = 88, /* explosion top center */
|
||||
S_explode3 = 89, /* explosion top right Ex. */
|
||||
S_explode4 = 90, /* explosion middle left */
|
||||
S_explode5 = 91, /* explosion middle center /-\ */
|
||||
S_explode6 = 92, /* explosion middle right |@| */
|
||||
S_explode7 = 93, /* explosion bottom left \-/ */
|
||||
S_explode8 = 94, /* explosion bottom center */
|
||||
S_explode9 = 95, /* explosion bottom right */
|
||||
|
||||
/* end effects */
|
||||
|
||||
MAXPCHARS /* maximum number of mapped characters */
|
||||
MAXPCHARS = 96 /* maximum number of mapped characters */
|
||||
};
|
||||
|
||||
#define MAXDCHARS (S_water - S_stone + 1) /* maximum of mapped dungeon characters */
|
||||
#define MAXTCHARS (S_vibrating_square - S_arrow_trap + 1) /* maximum of mapped trap characters */
|
||||
#define MAXECHARS (S_explode9 - S_vbeam + 1) /* maximum of mapped effects characters */
|
||||
#define MAXDCHARS (S_water - S_stone + 1) /* mapped dungeon characters */
|
||||
#define MAXTCHARS (S_vibrating_square - S_arrow_trap + 1) /* trap chars */
|
||||
#define MAXECHARS (S_explode9 - S_vbeam + 1) /* mapped effects characters */
|
||||
#define MAXEXPCHARS 9 /* number of explosion characters */
|
||||
|
||||
#define DARKROOMSYM (Is_rogue_level(&u.uz) ? S_stone : S_darkroom)
|
||||
@@ -445,30 +445,30 @@ struct rm {
|
||||
*
|
||||
* The following should cover all of the cases.
|
||||
*
|
||||
* type mode Examples: R=rock, F=finished
|
||||
* ----- ---- ----------------------------
|
||||
* WALL: 0 none hwall, mode 1
|
||||
* 1 left/top (1/2 rock) RRR
|
||||
* 2 right/bottom (1/2 rock) ---
|
||||
* FFF
|
||||
* type mode Examples: R=rock, F=finished
|
||||
* ----- ---- ----------------------------
|
||||
* WALL: 0 none hwall, mode 1
|
||||
* 1 left/top (1/2 rock) RRR
|
||||
* 2 right/bottom (1/2 rock) ---
|
||||
* FFF
|
||||
*
|
||||
* CORNER: 0 none trcorn, mode 2
|
||||
* 1 outer (3/4 rock) FFF
|
||||
* 2 inner (1/4 rock) F+-
|
||||
* F|R
|
||||
* CORNER: 0 none trcorn, mode 2
|
||||
* 1 outer (3/4 rock) FFF
|
||||
* 2 inner (1/4 rock) F+-
|
||||
* F|R
|
||||
*
|
||||
* TWALL: 0 none tlwall, mode 3
|
||||
* 1 long edge (1/2 rock) F|F
|
||||
* 2 bottom left (on a tdwall) -+F
|
||||
* 3 bottom right (on a tdwall) R|F
|
||||
* TWALL: 0 none tlwall, mode 3
|
||||
* 1 long edge (1/2 rock) F|F
|
||||
* 2 bottom left (on a tdwall) -+F
|
||||
* 3 bottom right (on a tdwall) R|F
|
||||
*
|
||||
* CRWALL: 0 none crwall, mode 5
|
||||
* 1 top left (1/4 rock) R|F
|
||||
* 2 top right (1/4 rock) -+-
|
||||
* 3 bottom left (1/4 rock) F|R
|
||||
* 4 bottom right (1/4 rock)
|
||||
* 5 top left & bottom right (1/2 rock)
|
||||
* 6 bottom left & top right (1/2 rock)
|
||||
* CRWALL: 0 none crwall, mode 5
|
||||
* 1 top left (1/4 rock) R|F
|
||||
* 2 top right (1/4 rock) -+-
|
||||
* 3 bottom left (1/4 rock) F|R
|
||||
* 4 bottom right (1/4 rock)
|
||||
* 5 top left & bottom right (1/2 rock)
|
||||
* 6 bottom left & top right (1/2 rock)
|
||||
*/
|
||||
|
||||
#define WM_W_LEFT 1 /* vertical or horizontal wall */
|
||||
@@ -491,25 +491,25 @@ struct rm {
|
||||
#define WM_X_BLTR 6
|
||||
|
||||
/*
|
||||
* Seen vector values. The seen vector is an array of 8 bits, one for each
|
||||
* Seen vector values. The seen vector is an array of 8 bits, one for each
|
||||
* octant around a given center x:
|
||||
*
|
||||
* 0 1 2
|
||||
* 7 x 3
|
||||
* 6 5 4
|
||||
* 0 1 2
|
||||
* 7 x 3
|
||||
* 6 5 4
|
||||
*
|
||||
* In the case of walls, a single wall square can be viewed from 8 possible
|
||||
* directions. If we know the type of wall and the directions from which
|
||||
* directions. If we know the type of wall and the directions from which
|
||||
* it has been seen, then we can determine what it looks like to the hero.
|
||||
*/
|
||||
#define SV0 0x1
|
||||
#define SV1 0x2
|
||||
#define SV2 0x4
|
||||
#define SV3 0x8
|
||||
#define SV4 0x10
|
||||
#define SV5 0x20
|
||||
#define SV6 0x40
|
||||
#define SV7 0x80
|
||||
#define SV0 0x01
|
||||
#define SV1 0x02
|
||||
#define SV2 0x04
|
||||
#define SV3 0x08
|
||||
#define SV4 0x10
|
||||
#define SV5 0x20
|
||||
#define SV6 0x40
|
||||
#define SV7 0x80
|
||||
#define SVALL 0xFF
|
||||
|
||||
#define doormask flags
|
||||
|
||||
Reference in New Issue
Block a user