From ecf1500b6c4ad0360a5e37f314051c348d96afca Mon Sep 17 00:00:00 2001 From: Pasi Kallinen Date: Mon, 10 Oct 2016 21:55:23 +0300 Subject: [PATCH] Use even more enums --- include/rm.h | 206 ++++++++++++++++++++++++++++++----------------------------- 1 file changed, 104 insertions(+), 102 deletions(-) diff --git a/include/rm.h b/include/rm.h index d7a49419..abcdd8c0 100644 --- a/include/rm.h +++ b/include/rm.h @@ -111,120 +111,122 @@ enum levl_typ_types { */ /* begin dungeon characters */ - -#define S_stone 0 -#define S_vwall 1 -#define S_hwall 2 -#define S_tlcorn 3 -#define S_trcorn 4 -#define S_blcorn 5 -#define S_brcorn 6 -#define S_crwall 7 -#define S_tuwall 8 -#define S_tdwall 9 -#define S_tlwall 10 -#define S_trwall 11 -#define S_ndoor 12 -#define S_vodoor 13 -#define S_hodoor 14 -#define S_vcdoor 15 /* closed door, vertical wall */ -#define S_hcdoor 16 /* closed door, horizontal wall */ -#define S_bars 17 /* KMH -- iron bars */ -#define S_tree 18 /* KMH */ -#define S_room 19 -#define S_darkroom 20 -#define S_corr 21 -#define S_litcorr 22 -#define S_upstair 23 -#define S_dnstair 24 -#define S_upladder 25 -#define S_dnladder 26 -#define S_altar 27 -#define S_grave 28 -#define S_throne 29 -#define S_sink 30 -#define S_fountain 31 -#define S_pool 32 -#define S_ice 33 -#define S_lava 34 -#define S_vodbridge 35 -#define S_hodbridge 36 -#define S_vcdbridge 37 /* closed drawbridge, vertical wall */ -#define S_hcdbridge 38 /* closed drawbridge, horizontal wall */ -#define S_air 39 -#define S_cloud 40 -#define S_water 41 +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, /* end dungeon characters, begin traps */ -#define S_arrow_trap 42 -#define S_dart_trap 43 -#define S_falling_rock_trap 44 -#define S_squeaky_board 45 -#define S_bear_trap 46 -#define S_land_mine 47 -#define S_rolling_boulder_trap 48 -#define S_sleeping_gas_trap 49 -#define S_rust_trap 50 -#define S_fire_trap 51 -#define S_pit 52 -#define S_spiked_pit 53 -#define S_hole 54 -#define S_trap_door 55 -#define S_teleportation_trap 56 -#define S_level_teleporter 57 -#define S_magic_portal 58 -#define S_web 59 -#define S_statue_trap 60 -#define S_magic_trap 61 -#define S_anti_magic_trap 62 -#define S_polymorph_trap 63 -#define S_vibrating_square 64 + 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, /* end traps, begin special effects */ -#define S_vbeam 65 /* The 4 zap beam symbols. Do NOT separate. */ -#define S_hbeam 66 /* To change order or add, see function */ -#define S_lslant 67 /* zapdir_to_glyph() in display.c. */ -#define S_rslant 68 -#define S_digbeam 69 /* dig beam symbol */ -#define S_flashbeam 70 /* camera flash symbol */ -#define S_boomleft 71 /* thrown boomerang, open left, e.g ')' */ -#define S_boomright 72 /* thrown boomerang, open right, e.g. '(' */ -#define S_ss1 73 /* 4 magic shield glyphs */ -#define S_ss2 74 -#define S_ss3 75 -#define S_ss4 76 -#define S_poisoncloud 77 -#define S_goodpos 78 /* valid position for targeting */ + 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 */ /* The 8 swallow symbols. Do NOT separate. To change order or add, see */ /* the function swallow_to_glyph() in display.c. */ -#define S_sw_tl 79 /* swallow top left [1] */ -#define S_sw_tc 80 /* swallow top center [2] Order: */ -#define S_sw_tr 81 /* swallow top right [3] */ -#define S_sw_ml 82 /* swallow middle left [4] 1 2 3 */ -#define S_sw_mr 83 /* swallow middle right [6] 4 5 6 */ -#define S_sw_bl 84 /* swallow bottom left [7] 7 8 9 */ -#define S_sw_bc 85 /* swallow bottom center [8] */ -#define S_sw_br 86 /* swallow bottom right [9] */ - -#define S_explode1 87 /* explosion top left */ -#define S_explode2 88 /* explosion top center */ -#define S_explode3 89 /* explosion top right Ex. */ -#define S_explode4 90 /* explosion middle left */ -#define S_explode5 91 /* explosion middle center /-\ */ -#define S_explode6 92 /* explosion middle right |@| */ -#define S_explode7 93 /* explosion bottom left \-/ */ -#define S_explode8 94 /* explosion bottom center */ -#define S_explode9 95 /* explosion bottom right */ + 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] */ + + 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 */ /* end effects */ -#define MAXPCHARS 96 /* maximum number of mapped characters */ -#define MAXDCHARS 42 /* maximum of mapped dungeon characters */ -#define MAXTCHARS 22 /* maximum of mapped trap characters */ -#define MAXECHARS 31 /* maximum of mapped effects characters */ + MAXPCHARS /* 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 MAXEXPCHARS 9 /* number of explosion characters */ #define DARKROOMSYM (Is_rogue_level(&u.uz) ? S_stone : S_darkroom) -- 2.11.4.GIT