/* * Include Globals.h * Brogue * * Created by Brian Walker on 2/8/09. * Copyright 2012. All rights reserved. * * This file is part of Brogue. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ extern tcell tmap[DCOLS][DROWS]; // grids with info about the map extern pcell pmap[DCOLS][DROWS]; // grids with info about the map extern short **scentMap; extern cellDisplayBuffer displayBuffer[COLS][ROWS]; extern short terrainRandomValues[DCOLS][DROWS][8]; extern short **safetyMap; // used to help monsters flee extern short **allySafetyMap; extern short **chokeMap; extern const short nbDirs[8][2]; extern const short cDirs[8][2]; extern levelData *levels; extern creature player; extern playerCharacter rogue; extern creature *monsters; extern creature *dormantMonsters; extern creature *graveyard; extern creature *purgatory; extern item *floorItems; extern item *packItems; extern item *monsterItemsHopper; extern short numberOfWaypoints; extern char displayedMessage[MESSAGE_LINES][COLS]; extern boolean messageConfirmed[3]; extern char combatText[COLS]; extern short messageArchivePosition; extern char messageArchive[MESSAGE_ARCHIVE_LINES][COLS*2]; extern char currentFilePath[BROGUE_FILENAME_MAX]; extern unsigned long randomNumbersGenerated; extern char displayDetail[DCOLS][DROWS]; #ifdef AUDIT_RNG extern FILE *RNGLogFile; #endif extern unsigned char inputRecordBuffer[INPUT_RECORD_BUFFER + 100]; extern unsigned short locationInRecordingBuffer; extern unsigned long positionInPlaybackFile; extern unsigned long lengthOfPlaybackFile; extern unsigned long recordingLocation; extern unsigned long maxLevelChanges; extern char annotationPathname[BROGUE_FILENAME_MAX]; // pathname of annotation file extern unsigned long previousGameSeed; // basic colors extern color white; extern color red; extern color blue; extern color darkRed; extern color gray; extern color darkGray; extern color veryDarkGray; extern color black; extern color yellow; extern color darkYellow; extern color teal; extern color purple; extern color darkPurple; extern color brown; extern color green; extern color darkGreen; extern color orange; extern color darkOrange; extern color darkBlue; extern color lightBlue; extern color pink; extern color tanColor; extern color sunlight; extern color rainbow; // tile colors extern color undiscoveredColor; extern color wallForeColor; extern color wallBackColorStart; extern color wallBackColorEnd; extern color wallBackColor; extern color graniteBackColor; extern color floorForeColor; extern color floorBackColor; extern color doorForeColor; extern color doorBackColor; extern color deepWaterForeColor; extern color deepWaterBackColor; extern color shallowWaterForeColor; extern color shallowWaterBackColor; extern color mudForeColor; extern color mudBackColor; extern color chasmForeColor; extern color chasmEdgeBackColor; extern color fireForeColor; // light colors extern color minersLightColor; extern color minersLightStartColor; extern color minersLightEndColor; extern color torchLightColor; extern color deepWaterLightColor; extern color redFlashColor; extern color discordColor; extern color memoryColor; extern color memoryOverlay; extern color magicMapColor; extern color clairvoyanceColor; extern color telepathyMultiplier; extern color omniscienceColor; extern color basicLightColor; extern color colorDim25; extern color colorMultiplier100; extern color magicMapFlashColor; extern color itemColor; extern color blueBar; extern color redBar; extern color hiliteColor; extern color interfaceBoxColor; extern color interfaceButtonColor; extern color playerInvisibleColor; extern color playerInShadowColor; extern color playerInLightColor; extern color playerInDarknessColor; extern const color inLightMultiplierColor; extern const color inDarknessMultiplierColor; extern const color buttonHoverColor; extern color titleButtonColor; // other colors extern color centipedeColor; extern color confusionGasColor; extern color lightningColor; extern color spectralImageColor; extern color goodMessageColor; extern color badMessageColor; extern color advancementMessageColor; extern color itemMessageColor; extern color backgroundMessageColor; extern color flavorTextColor; extern const color flameSourceColor; extern const color flameSourceColorSecondary; extern const color flameTitleColor; extern const color superVictoryColor; extern color *dynamicColors[NUMBER_DYNAMIC_COLORS][3]; extern const autoGenerator autoGeneratorCatalog[NUMBER_AUTOGENERATORS]; extern floorTileType tileCatalog[NUMBER_TILETYPES]; extern dungeonFeature dungeonFeatureCatalog[NUMBER_DUNGEON_FEATURES]; extern dungeonProfile dungeonProfileCatalog[NUMBER_DUNGEON_PROFILES]; extern lightSource lightCatalog[NUMBER_LIGHT_KINDS]; extern const blueprint blueprintCatalog[NUMBER_BLUEPRINTS]; extern creatureType monsterCatalog[NUMBER_MONSTER_KINDS]; extern monsterWords monsterText[NUMBER_MONSTER_KINDS]; extern hordeType hordeCatalog[NUMBER_HORDES]; extern const mutation mutationCatalog[NUMBER_MUTATORS]; extern const monsterClass monsterClassCatalog[MONSTER_CLASS_COUNT]; extern const feat featTable[FEAT_COUNT]; // ITEMS extern char itemCategoryNames[NUMBER_ITEM_CATEGORIES][7]; extern char itemTitles[NUMBER_SCROLL_KINDS][30]; extern char titlePhonemes[NUMBER_TITLE_PHONEMES][30]; extern char itemColors[NUMBER_ITEM_COLORS][30]; extern char itemWoods[NUMBER_ITEM_WOODS][30]; extern char itemMetals[NUMBER_ITEM_METALS][30]; extern char itemGems[NUMBER_ITEM_GEMS][30]; extern char itemColorsRef[NUMBER_ITEM_COLORS][30]; extern char itemWoodsRef[NUMBER_ITEM_WOODS][30]; extern char itemMetalsRef[NUMBER_ITEM_METALS][30]; extern char itemGemsRef[NUMBER_ITEM_GEMS][30]; extern itemTable keyTable[NUMBER_KEY_TYPES]; extern itemTable foodTable[NUMBER_FOOD_KINDS]; extern itemTable weaponTable[NUMBER_WEAPON_KINDS]; extern itemTable armorTable[NUMBER_ARMOR_KINDS]; extern itemTable scrollTable[NUMBER_SCROLL_KINDS]; extern itemTable potionTable[NUMBER_POTION_KINDS]; extern itemTable wandTable[NUMBER_WAND_KINDS]; extern itemTable staffTable[NUMBER_STAFF_KINDS]; extern itemTable ringTable[NUMBER_RING_KINDS]; extern itemTable charmTable[NUMBER_CHARM_KINDS]; extern const bolt boltCatalog[NUMBER_BOLT_KINDS]; extern const char weaponRunicNames[NUMBER_WEAPON_RUNIC_KINDS][30]; extern const char armorRunicNames[NUMBER_ARMOR_ENCHANT_KINDS][30]; extern const char monsterBehaviorFlagDescriptions[32][COLS]; extern const char monsterAbilityFlagDescriptions[32][COLS]; extern const char monsterBookkeepingFlagDescriptions[32][COLS];