| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820 |
- /*
- ** Command & Conquer Red Alert(tm)
- ** Copyright 2025 Electronic Arts Inc.
- **
- ** This program is free software: you can redistribute it and/or modify
- ** it under the terms of the GNU 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 General Public License for more details.
- **
- ** You should have received a copy of the GNU General Public License
- ** along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
- /* $Header: /CounterStrike/CONST.CPP 1 3/03/97 10:24a Joe_bostic $ */
- /***********************************************************************************************
- *** C O N F I D E N T I A L --- W E S T W O O D S T U D I O S ***
- ***********************************************************************************************
- * *
- * Project Name : Command & Conquer *
- * *
- * File Name : CONST.CPP *
- * *
- * Programmer : Joe L. Bostic *
- * *
- * Start Date : September 20, 1993 *
- * *
- * Last Update : September 20, 1993 [JLB] *
- * *
- *---------------------------------------------------------------------------------------------*
- * Functions: *
- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
- #include "function.h"
- /***************************************************************************
- ** These are the access passwords used to activate cheat mode, editor mode,
- ** and special game options.
- */
- long const PlayCodes[] = {
- 0xE0792D6D, // Dwight Okahara
- 0x90046ECF, // Paul S. Mudra
- 0xC3EE9A26, // Frank Klepaki
- 0xED382178, // Ed Del Castillo
- 0L
- };
- long const CheatCodes[] = {
- 0xA0E2AB53, // Joseph Hewitt
- 0x00532693, // Mike Lightner
- 0x7DDFF824, // Joe Bostic
- 0x2CB5CF01, // Phil Gorrow
- 0xB5B63531, // Bill Randolph
- 0xDFABC23A, // Adam Isgreen
- 0x52B19A22, // Erik Yeo
- 0xBE79088C, // David Dettmer
- 0xB216AE7E, // Barry Green
- 0x0E07B213, // Steve Tall
- 0L
- };
- long const EditorCodes[] = {
- 0xA2C09326, // Erik Yeo
- 0x1F944BB3, // Mike Lightner
- 0xDE07154D, // Adam Isgreen
- 0x0E07B213, // Steve Tall
- 0x16B170B1, // Joe Bostic
- 0L
- };
- /***********************************************************************************************
- ** Unit order names. These names correspond to the player selectable orders
- ** a unit can have. The system initiated orders have no use for the ASCII name
- ** associated, but they are listed here for completeness sake.
- */
- char const * Missions[MISSION_COUNT] = {
- "Sleep",
- "Attack",
- "Move",
- "QMove",
- "Retreat",
- "Guard",
- "Sticky",
- "Enter",
- "Capture",
- "Harvest",
- "Area Guard",
- "Return",
- "Stop",
- "Ambush",
- "Hunt",
- "Unload",
- "Sabotage",
- "Construction",
- "Selling",
- "Repair",
- "Rescue",
- "Missile",
- "Harmless"
- };
- /***************************************************************************
- ** Special weapon names.
- */
- #ifdef SCENARIO_EDITOR
- char const * const SpecialWeaponName[SPC_COUNT] = {
- "Sonar Pulse",
- "Nuclear Missile",
- "Chronosphere",
- "Parachute Bomb",
- "Paratroopers",
- "Recon Plane",
- "Iron Curtain",
- "GPS Satellite"
- };
- #endif
- int const SpecialWeaponHelp[SPC_COUNT] = {
- TXT_SONAR_PULSE,
- TXT_NUCLEAR_BOMB,
- TXT_CHRONOSHIFT,
- TXT_PARA_BOMB,
- TXT_PARA_INFANTRY,
- TXT_SPY_MISSION,
- TXT_INVUL,
- TXT_GPS_SATELLITE
- };
- char const * const SpecialWeaponFile[SPC_COUNT] = {
- "SONR",
- "ATOM",
- "WARP",
- "PBMB",
- "PINF",
- "CAM",
- "INFX",
- "GPSS"
- };
- /***************************************************************************
- ** Type of quarry to search out and attack. These values are used for team
- ** attack missions.
- */
- char const * const QuarryName[QUARRY_COUNT] = {
- "N/A",
- "Anything",
- "Buildings - any",
- "Harvesters",
- "Infantry",
- "Vehicles - any",
- "Ships - any",
- "Factories",
- "Base Defenses",
- "Base Threats",
- "Power Facilities",
- "Fake Buildings"
- };
- /***************************************************************************
- ** These are the text names for the formation types.
- */
- char const * const FormationName[FORMATION_COUNT] = {
- "None",
- "Tight",
- "Loose",
- "Wedge North",
- "Wedge East",
- "Wedge South",
- "Wedge West",
- "Line N/S",
- "Line E/W"
- };
- /***************************************************************************
- ** These are the ASCII names for the reinforcement sources.
- */
- char const * const SourceName[SOURCE_COUNT] =
- {
- "North",
- "East",
- "South",
- "West",
- "Air"
- };
- /***************************************************************************
- ** These are the text names for the various armor types a unit may possess.
- */
- char const * const ArmorName[ARMOR_COUNT] = {
- "none",
- "wood",
- "light",
- "heavy",
- "concrete"
- };
- // HACK ALERT! This unused text string is here to stop Watcom from crashing. There is some
- // magic text heap length that causes a crash before the code executes. This dummy string
- // changes the text heap length enough to stop the crash. Who knows why, but it works.
- char * __test__ = "alskdfjlasdfjkajsdfkja;sldjfklasj9awutreqjfnfdkvnldzlknvadsjgflkasdjfkajsdfas";
- /***************************************************************************
- ** The list of VQ filenames.
- */
- char const * const VQName[VQ_COUNT] = {
- "AAGUN",
- "MIG",
- "SFROZEN",
- "AIRFIELD",
- "BATTLE",
- "BMAP",
- "BOMBRUN",
- "DPTHCHRG",
- "GRVESTNE",
- "MONTPASS",
- "MTNKFACT",
- "CRONTEST",
- "OILDRUM",
- "ALLYEND",
- "RADRRAID",
- "SHIPYARD",
- "SHORBOMB",
- "SITDUCK",
- "SLNTSRVC",
- "SNOWBASE",
- "EXECUTE",
- "REDINTRO", // low res.
- "NUKESTOK",
- "V2ROCKET",
- "SEARCH",
- "BINOC",
- "ELEVATOR",
- "FROZEN",
- "MCV",
- "SHIPSINK",
- "SOVMCV",
- "TRINITY",
- "ALLYMORF",
- "APCESCPE",
- "BRDGTILT",
- "CRONFAIL",
- "STRAFE",
- "DESTROYR",
- "DOUBLE",
- "FLARE",
- "SNSTRAFE",
- "LANDING",
- "ONTHPRWL",
- "OVERRUN",
- "SNOWBOMB",
- "SOVCEMET",
- "TAKE_OFF",
- "TESLA",
- "SOVIET8",
- "SPOTTER",
- "ALLY1",
- "ALLY2",
- "ALLY4",
- "SOVFINAL",
- "ASSESS",
- "SOVIET10",
- "DUD",
- "MCV_LAND",
- "MCVBRDGE",
- "PERISCOP",
- "SHORBOM1",
- "SHORBOM2",
- "SOVBATL",
- "SOVTSTAR",
- "AFTRMATH",
- "SOVIET11",
- "MASASSLT",
- "ENGLISH", // High res.
- "SOVIET1",
- "SOVIET2",
- "SOVIET3",
- "SOVIET4",
- "SOVIET5",
- "SOVIET6",
- "SOVIET7",
- "PROLOG",
- "AVERTED",
- "COUNTDWN",
- "MOVINGIN",
- "ALLY10",
- "ALLY12",
- "ALLY5",
- "ALLY6",
- "ALLY8",
- "TANYA1",
- "TANYA2",
- "ALLY10B",
- "ALLY11",
- "ALLY14",
- "ALLY9",
- "SPY",
- "TOOFAR",
- "SOVIET12",
- "SOVIET13",
- "SOVIET9",
- "BEACHEAD",
- "SOVIET14",
- "SIZZLE",
- "SIZZLE2",
- "ANTEND",
- "ANTINTRO"
- };
- /***************************************************************************
- ** Relative coordinate offsets from the center of a cell for each
- ** of the legal positions that an object in a cell may stop at. Only infantry
- ** are allowed to stop at other than the center of the cell.
- */
- COORDINATE const StoppingCoordAbs[5] = {
- 0x00800080L, // center
- 0x00400040L, // upper left
- 0x004000C0L, // upper right
- 0x00C00040L, // lower left
- 0x00C000C0L // lower right
- };
- /***************************************************************************
- ** Converts pixel values (cell relative) into the appropriate lepton (sub cell)
- ** value. This is used to convert pixel (screen) coordinates into the underlying
- ** coordinate system.
- */
- unsigned char const Pixel2Lepton[24] = {
- 0x00,0x0B,0x15,0x20,0x2B,0x35,0x40,0x4B,
- 0x55,0x60,0x6B,0x75,0x80,0x8B,0x95,0xA0,
- 0xAB,0xB5,0xC0,0xCB,0xD5,0xE0,0xEB,0xF5
- };
- /***************************************************************************
- ** This array is used to index a facing in order to retrieve a cell
- ** offset that, when added to another cell, will achieve the adjacent cell
- ** in the indexed direction.
- */
- CELL const AdjacentCell[FACING_COUNT] = {
- -(MAP_CELL_W), // North
- -(MAP_CELL_W-1), // North East
- 1, // East
- MAP_CELL_W+1, // South East
- MAP_CELL_W, // South
- MAP_CELL_W-1, // South West
- -1, // West
- -(MAP_CELL_W+1) // North West
- };
- COORDINATE const AdjacentCoord[FACING_COUNT] = {
- 0xFF000000L,
- 0xFF000100L,
- 0x00000100L,
- 0x01000100L,
- 0x01000000L,
- 0x0100FF00L,
- 0x0000FF00L,
- 0xFF00FF00L
- };
- /***************************************************************************
- ** This specifies the odds of receiving the various random crate power
- ** ups. The odds are expressed as "shares" of 100 percent.
- */
- int CrateShares[CRATE_COUNT] = {
- 50, // CRATE_MONEY
- 20, // CRATE_UNIT
- 3, // CRATE_PARA_BOMB
- 1, // CRATE_HEAL_BASE
- 3, // CRATE_CLOAK
- 5, // CRATE_EXPLOSION
- 5, // CRATE_NAPALM
- 20, // CRATE_SQUAD
- 1, // CRATE_DARKNESS
- 1, // CRATE_REVEAL
- 3, // CRATE_SONAR
- 10, // CRATE_ARMOR
- 10, // CRATE_SPEED
- 10, // CRATE_FIREPOWER
- 1, // CRATE_ICBM
- 1, // CRATE_TIMEQUAKE
- 3, // CRATE_INVULN
- 5 // CRATE_VORTEX
- };
- AnimType CrateAnims[CRATE_COUNT] = {
- ANIM_NONE, // CRATE_MONEY
- ANIM_NONE, // CRATE_UNIT
- ANIM_NONE, // CRATE_PARA_BOMB
- ANIM_NONE, // CRATE_HEAL_BASE
- ANIM_NONE, // CRATE_CLOAK
- ANIM_NONE, // CRATE_EXPLOSION
- ANIM_NONE, // CRATE_NAPALM
- ANIM_NONE, // CRATE_SQUAD
- ANIM_NONE, // CRATE_DARKNESS
- ANIM_NONE, // CRATE_REVEAL
- ANIM_NONE, // CRATE_SONAR
- ANIM_NONE, // CRATE_ARMOR
- ANIM_NONE, // CRATE_SPEED
- ANIM_NONE, // CRATE_FIREPOWER
- ANIM_NONE, // CRATE_ICBM
- ANIM_NONE, // CRATE_TIMEQUAKE
- ANIM_NONE, // CRATE_INVULN
- ANIM_NONE // CRATE_VORTEX
- };
- int CrateData[CRATE_COUNT] = {
- 0, // CRATE_MONEY
- 0, // CRATE_UNIT
- 0, // CRATE_PARA_BOMB
- 0, // CRATE_HEAL_BASE
- 0, // CRATE_CLOAK
- 0, // CRATE_EXPLOSION
- 0, // CRATE_NAPALM
- 0, // CRATE_SQUAD
- 0, // CRATE_DARKNESS
- 0, // CRATE_REVEAL
- 0, // CRATE_SONAR
- 0, // CRATE_ARMOR
- 0, // CRATE_SPEED
- 0, // CRATE_FIREPOWER
- 0, // CRATE_ICBM
- 0, // CRATE_TIMEQUAKE
- 0, // CRATE_INVULN
- 0 // CRATE_VORTEX
- };
- char const * const CrateNames[CRATE_COUNT] = {
- "Money",
- "Unit",
- "ParaBomb",
- "HealBase",
- "Cloak",
- "Explosion",
- "Napalm",
- "Squad",
- "Darkness",
- "Reveal",
- "Sonar",
- "Armor",
- "Speed",
- "Firepower",
- "ICBM",
- "TimeQuake",
- "Invulnerability",
- "ChronalVortex"
- };
- /***************************************************************************
- ** This converts 0..255 facing values into either 8, 16, or 32 facing values.
- ** Note: a simple shift won't suffice because 0..255 facing values should
- ** be converted to the CLOSEST appropriate facing, NOT rounded down to the
- ** nearest facing.
- */
- unsigned char const Facing8[256] = {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
- 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
- 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
- 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
- 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
- 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
- 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- };
- unsigned char const Facing16[256] = {
- 0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,
- 2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,
- 4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,
- 6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,
- 8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,
- 12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,14,14,14,14,14,14,14,14,
- 14,14,14,14,14,14,14,14,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,0
- };
- signed char const Rotation16[256] = {
- 0,1,2,3,4,5,6,7,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,-8,-7,-6,-5,-4,-3,-2,-1,
- 0,1,2,3,4,5,6,7,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,-8,-7,-6,-5,-4,-3,-2,-1,
- 0,1,2,3,4,5,6,7,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,-8,-7,-6,-5,-4,-3,-2,-1,
- 0,1,2,3,4,5,6,7,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,-8,-7,-6,-5,-4,-3,-2,-1,
- 0,1,2,3,4,5,6,7,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,-8,-7,-6,-5,-4,-3,-2,-1,
- 0,1,2,3,4,5,6,7,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,-8,-7,-6,-5,-4,-3,-2,-1,
- 0,1,2,3,4,5,6,7,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,-8,-7,-6,-5,-4,-3,-2,-1,
- 0,1,2,3,4,5,6,7,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,-8,-7,-6,-5,-4,-3,-2,-1
- };
- /*
- ** This table incorporates a compensating factor for the distortion caused
- ** by 3D-Studio when it tries to render 45% angles.
- */
- unsigned char const Facing32[256] = {
- 0,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,
- 3,4,4,4,4,4,4,5,5,5,5,5,5,5,6,6,6,6,6,6,6,7,7,7,7,7,7,7,8,8,8,8,
- 8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,
- 13,13,13,13,13,13,13,13,14,14,14,14,14,14,14,14,14,15,15,15,15,15,15,15,15,15,16,16,16,16,16,16,
- 16,16,16,16,16,17,17,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,
- 19,20,20,20,20,20,20,21,21,21,21,21,21,21,22,22,22,22,22,22,22,23,23,23,23,23,23,23,24,24,24,24,
- 24,24,24,25,25,25,25,25,25,25,26,26,26,26,26,26,26,27,27,27,27,27,27,27,28,28,28,28,28,28,28,28,
- 29,29,29,29,29,29,29,29,30,30,30,30,30,30,30,30,30,31,31,31,31,31,31,31,31,31,0,0,0,0,0,0
- };
- #ifdef OBSOLETE
- unsigned char const Facing32[256] = {
- 0,0,0,0,
- 1,1,1,1,1,1,1,1,
- 2,2,2,2,2,2,2,2,
- 3,3,3,3,3,3,3,3,
- 4,4,4,4,4,4,4,4,
- 5,5,5,5,5,5,5,5,
- 6,6,6,6,6,6,6,6,
- 7,7,7,7,7,7,7,7,
- 8,8,8,8,8,8,8,8,
- 9,9,9,9,9,9,9,9,
- 10,10,10,10,10,10,10,10,
- 11,11,11,11,11,11,11,11,
- 12,12,12,12,12,12,12,12,
- 13,13,13,13,13,13,13,13,
- 14,14,14,14,14,14,14,14,
- 15,15,15,15,15,15,15,15,
- 16,16,16,16,16,16,16,16,
- 17,17,17,17,17,17,17,17,
- 18,18,18,18,18,18,18,18,
- 19,19,19,19,19,19,19,19,
- 20,20,20,20,20,20,20,20,
- 21,21,21,21,21,21,21,21,
- 22,22,22,22,22,22,22,22,
- 23,23,23,23,23,23,23,23,
- 24,24,24,24,24,24,24,24,
- 25,25,25,25,25,25,25,25,
- 26,26,26,26,26,26,26,26,
- 27,27,27,27,27,27,27,27,
- 28,28,28,28,28,28,28,28,
- 29,29,29,29,29,29,29,29,
- 30,30,30,30,30,30,30,30,
- 31,31,31,31,31,31,31,31,
- 0,0,0,0
- };
- #endif
- /***************************************************************************
- ** These are the movement costs (in ticks at fastest speed) to enter each
- ** of the given terrain cells.
- */
- int const GroundColor[LAND_COUNT] = {
- 141, // "Clear" terrain.
- 141, // Road terrain.
- 172, // Water.
- 21, // Impassable rock.
- 21, // Wall (blocks movement).
- 158, // Tiberium field.
- 141, // Beach terrain.
- 141, // Rocky terrain.
- 174 // Rocky riverbed.
- };
- int const SnowColor[LAND_COUNT] = {
- 141, // "Clear" terrain.
- 141, // Road terrain.
- 172, // Water.
- 21, // Impassable rock.
- 21, // Wall (blocks movement).
- 158, // Tiberium field.
- 141, // Beach terrain.
- 141, // Rocky terrain.
- 174 // Rocky riverbed.
- };
- #ifdef NEVER
- int const GroundColor[LAND_COUNT] = {
- 46, // "Clear" terrain.
- 44, // Road terrain.
- BLUE, // Water.
- DKGREY, // Impassable rock.
- DKGREY, // Wall (blocks movement).
- 158, // Tiberium field.
- 64, // Beach terrain.
- DKGREY, // Rocky terrain.
- DKGREY // Rocky riverbed.
- };
- int const SnowColor[LAND_COUNT] = {
- WHITE, // "Clear" terrain.
- LTGRAY, // Road terrain.
- BLUE, // Water.
- DKGREY, // Impassable rock.
- DKGREY, // Wall (blocks movement).
- 158, // Tiberium field.
- LTGRAY, // Beach terrain.
- DKGREY, // Rocky terrain.
- DKGREY // Rocky riverbed.
- };
- #endif
- GroundType Ground[LAND_COUNT];
- /***************************************************************************
- ** These are the names of the theaters.
- */
- TheaterDataType const Theaters[THEATER_COUNT] = {
- {"TEMPERATE","TEMPERAT","TEM"},
- {"SNOW","SNOW","SNO"},
- {"INTERIOR","INTERIOR","INT"},
- };
- unsigned char const RemapCiv2[256] = {
- 0,1,2,3,4,5,6,209,8,9,10,11,12,13,12,15, // 0..15
- 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, // 16..31
- 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47, // 32..47
- 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63, // 48..63
- 64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79, // 64..79
- 80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95, // 80..95
- 96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111, // 96..111
- 112,113,114,115,116,117,187,188,120,121,122,123,124,125,126,127, // 112..127
- 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, // 128..143
- 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,209, // 144..159
- 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175, // 160..175
- 176,177,178,179,180,181,182,183,184,185,186,167, 13,189,190,191, // 176..191
- 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207, // 192..207
- 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223, // 208..223
- 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239, // 224..239
- 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255 // 240..255
- };
- unsigned char const RemapCiv4[256] = {
- 0,1,2,3,4,5,6,187,8,9,10,11,12,13,14,15, // 0..15
- 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, // 16..31
- 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47, // 32..47
- 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63, // 48..63
- 64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79, // 64..79
- 80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95, // 80..95
- 96,97,98,99,100,101,102,103,104,105,106,107,108,118,110,119, // 96..111
- 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127, // 112..127
- 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, // 128..143
- 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159, // 144..159
- 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175, // 160..175
- 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191, // 176..191
- 192,193,194,195,196,197,198,199,200,201,202,203,204,205,188,207, // 192..207
- 208,209,182,211,212,213,214,215,216,217,218,219,220,221,222,223, // 208..223
- 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239, // 224..239
- 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255 // 240..255
- };
- unsigned char const RemapCiv5[256] = {
- 0,1,2,3,4,5,6,109,8,9,10,11,131,13,14,15, // 0..15
- 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, // 16..31
- 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47, // 32..47
- 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63, // 48..63
- 64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79, // 64..79
- 80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95, // 80..95
- 96,97,98,99,100,101,102,103,104,105,106,107,108,177,110,178, // 96..111
- 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127, // 112..127
- 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, // 128..143
- 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159, // 144..159
- 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175, // 160..175
- 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191, // 176..191
- 192,193,194,195,196,197,198,199,111,201,202,203,204,205,111,207, // 192..207
- 208,209,182,211,212,213,214,215,216,217,218,219,220,221,222,223, // 208..223
- 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239, // 224..239
- 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255 // 240..255
- };
- unsigned char const RemapCiv6[256] = {
- 0,1,2,3,4,5,6,120,8,9,10,11,12,13,238,15, // 0..15
- 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, // 16..31
- 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47, // 32..47
- 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63, // 48..63
- 64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79, // 64..79
- 80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95, // 80..95
- 96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111, // 96..111
- 112,113,114,115,116,117,236,206,120,121,122,123,124,125,126,127, // 112..127
- 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, // 128..143
- 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,111, // 144..159
- 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175, // 160..175
- 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191, // 176..191
- 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207, // 192..207
- 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223, // 208..223
- 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239, // 224..239
- 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255 // 240..255
- };
- unsigned char const RemapCiv7[256] = {
- 0,1,2,3,4,5,6,7,8,9,10,11,12,13,131,15, // 0..15
- 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, // 16..31
- 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47, // 32..47
- 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63, // 48..63
- 64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79, // 64..79
- 80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95, // 80..95
- 96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111, // 96..111
- 112,113,114,115,116,117,157,212,120,121,122,123,124,125,126,127, // 112..127
- 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, // 128..143
- 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,7, // 144..159
- 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175, // 160..175
- 176,177,178,179,180,181,182,183,184,185,186,118,119,189,190,191, // 176..191
- 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207, // 192..207
- 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223, // 208..223
- 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239, // 224..239
- 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255 // 240..255
- };
- unsigned char const RemapCiv8[256] = {
- 0,1,2,3,4,5,6,182,8,9,10,11,12,13,131,15, // 0..15
- 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, // 16..31
- 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47, // 32..47
- 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63, // 48..63
- 64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79, // 64..79
- 80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95, // 80..95
- 96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111, // 96..111
- 112,113,114,115,116,117,215,7,120,121,122,123,124,125,126,127, // 112..127
- 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, // 128..143
- 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,182, // 144..159
- 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175, // 160..175
- 176,177,178,179,180,181,182,183,184,185,186,198,199,189,190,191, // 176..191
- 192,193,194,195,196,197,198,199,111,201,202,203,204,205,206,207, // 192..207
- 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223, // 208..223
- 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239, // 224..239
- 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255 // 240..255
- };
- unsigned char const RemapCiv9[256] = {
- 0,1,2,3,4,5,6,7,8,9,10,11,12,13,7,15, // 0..15
- 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, // 16..31
- 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47, // 32..47
- 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63, // 48..63
- 64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79, // 64..79
- 80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95, // 80..95
- 96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111, // 96..111
- 112,113,114,115,116,117,163,165,120,121,122,123,124,125,126,127, // 112..127
- 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, // 128..143
- 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,200, // 144..159
- 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175, // 160..175
- 176,177,178,179,180,181,182,183,184,185,186,111,13,189,190,191, // 176..191
- 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207, // 192..207
- 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223, // 208..223
- 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239, // 224..239
- 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255 // 240..255
- };
- unsigned char const RemapCiv10[256] = {
- 0,1,2,3,4,5,6,137,8,9,10,11,12,13,15,15, // 0..15
- 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, // 16..31
- 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47, // 32..47
- 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63, // 48..63
- 64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79, // 64..79
- 80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95, // 80..95
- 96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111, // 96..111
- 112,113,114,115,116,117,129,131,120,121,122,123,124,125,126,127, // 112..127
- 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, // 128..143
- 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,137, // 144..159
- 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175, // 160..175
- 176,177,178,179,180,181,182,183,184,185,186,163,165,189,190,191, // 176..191
- 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207, // 192..207
- 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223, // 208..223
- 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239, // 224..239
- 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255 // 240..255
- };
- unsigned char const RemapEmber[256] = {
- #define CEC CC_EMBER_COLOR
- 0,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,BLACK,CEC,CEC,CEC,
- CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,
- CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,
- CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,
- CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,
- CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,
- CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,
- CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,
- CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,
- CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,
- CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,
- CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,
- CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,
- CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,
- CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,
- CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC,CEC
- };
- //char const Keys[] =
- // "[PublicKey]\n"
- // "1=AgkCbXo9sKMHOBk=\n"
- //#ifdef CHEAT_KEYS
- // "[PrivateKey]\n"
- // "1=AggxFU55vc7LYQ==\n"
- //#endif
- // "\n";
- char const Keys[] =
- "[PublicKey]\n"
- "1=AihRvNoIbTn85FZRYNZRcT+i6KpU+maCsEqr3Q5q+LDB5tH7Tz2qQ38V\n"
- #ifdef CHEAT_KEYS
- "[PrivateKey]\n"
- "1=AigKVje8mROcR8QixnxUEF5b29Curkq01DNDWCdOG99XBqH79OaCiTCB\n"
- #endif
- "\n";
|