EDYQFPAG7JU6OJJXDMFZQOXCPXKMZNG63GJDBDUWMQTWHRHF7BMQC J6J74CCDLZIY2SBU6O7DCX7QUO7LVNBFOZJ7F3VW4OPRPHKQ62OAC OLS2OW4YBKIEBURLW2LZDHHFGBGILOXQHHZBW7ED37MKISEGJKOAC OPI6W7BO4V3R5WGEVN4USOHVPUV5PVWGKYBMCRU4VQOI7F7RCF5QC 4LMTBPV7JT446YP5RLF6HT7246BY75U5V35JTEIK4PT5NEPKNNKAC NDDFOS5624OS3JXFPE46C2VBGU6XYA2XOOP7X5GF26HMDPYLOQXQC M74RMZSTQLQHMG5PGM6DMM7JJFUHHNBS7QPNGJNXCSB4WHQVBTFAC MYLF7NEGFT6YYO6OEK22FLAS6Y2V3YGU4CQIMBE6APOLGLTOFNRQC EZYBNJFUNOS3LIU6ILXN7MFKLVW4SDXW6K5T4YFKFZ2R4UWSFUXAC ),);/*** THE LOCATIONS** Backend and frontend data.** `sid`: string id, for easier overview here** `coords`: The (top, left, rotation) coords (in percent) of the location slot* (middle); the crime and suspect slot locations can be calculated from this.** `neighbors`: ids of adjacent locations** slots: 1 => crime, 2 => suspect*/if (!defined('LOC_LAKESIDE')) { // guard since this included multiple timesdefine("LOC_LAKESIDE", 1);define("LOC_FORESTPARK", 2);define('LOC_LITTLEITALY', 3);define('LOC_TROCADERO', 4);define('LOC_OCEANDRIVE', 5);define('LOC_CHINATOWN', 6);define('LOC_CENTRALSTATION', 7);define('LOC_MAINSTREET', 8);define('LOC_ROADHOUSE', 9);define('LOC_UNIONSQUARE', 10);define('LOC_DOWNTOWN', 11);define('LOC_RICKSCAFE', 12);define('LOC_WATERFRONT', 13);define('LOC_SKIDROW', 14);}$this->locations = array(LOC_LAKESIDE => array('name' => clienttranslate('Lakeside'),'neighbors' => array(LOC_FORESTPARK, LOC_TROCADERO, LOC_LITTLEITALY),'coords' => array(4.2, 27.8, 0),),LOC_FORESTPARK => array('name' => clienttranslate('Forest Park'),'neighbors' => array(LOC_OCEANDRIVE, LOC_TROCADERO, LOC_LAKESIDE),'coords' => array(3.8, 51.9, 2.5),),LOC_LITTLEITALY => array('name' => clienttranslate('Little Italy'),'neighbors' => array(LOC_LAKESIDE, LOC_TROCADERO, LOC_CENTRALSTATION, LOC_CHINATOWN),'coords' => array(23.5, 15.0, 2.0),),LOC_TROCADERO => array('name' => clienttranslate('Trocadero'),'neighbors' => array(LOC_LAKESIDE, LOC_FORESTPARK, LOC_OCEANDRIVE, LOC_MAINSTREET, LOC_CENTRALSTATION, LOC_LITTLEITALY),'coords' => array(23.2, 39.7, 0),),LOC_OCEANDRIVE => array('name' => clienttranslate('Ocean Drive'),'neighbors' => array(LOC_FORESTPARK, LOC_ROADHOUSE, LOC_MAINSTREET, LOC_TROCADERO),'coords' => array(23.9, 64.2, 1.3),),LOC_CHINATOWN => array('name' => clienttranslate('China Town'),'neighbors' => array(LOC_LITTLEITALY, LOC_CENTRALSTATION, LOC_UNIONSQUARE),'coords' => array(43.2, 2.8, 0),
LOC_CENTRALSTATION => array('name' => clienttranslate('Central Station'),'neighbors' => array(LOC_LITTLEITALY, LOC_TROCADERO, LOC_MAINSTREET, LOC_DOWNTOWN, LOC_UNIONSQUARE, LOC_CHINATOWN),'coords' => array(43.2, 27.5, 1.15),),LOC_MAINSTREET => array('name' => clienttranslate('Main Street'),'neighbors' => array(LOC_TROCADERO, LOC_OCEANDRIVE, LOC_ROADHOUSE, LOC_RICKSCAFE, LOC_DOWNTOWN, LOC_CENTRALSTATION),'coords' => array(42.5, 51.8, 0),),LOC_ROADHOUSE => array('name' => clienttranslate('Road House'),'neighbors' => array(LOC_OCEANDRIVE, LOC_RICKSCAFE, LOC_MAINSTREET),'coords' => array(43.4, 76.2, 1.7),),LOC_UNIONSQUARE => array('name' => clienttranslate('Union Square'),'neighbors' => array(LOC_CHINATOWN, LOC_CENTRALSTATION, LOC_DOWNTOWN, LOC_WATERFRONT),'coords' => array(63.0, 15.3, -1.5),),LOC_DOWNTOWN => array('name' => clienttranslate('Downtown'),'neighbors' => array(LOC_CENTRALSTATION, LOC_MAINSTREET, LOC_RICKSCAFE, LOC_SKIDROW, LOC_WATERFRONT, LOC_UNIONSQUARE),'coords' => array(63.1, 39.4, 0),),LOC_RICKSCAFE => array('name' => clienttranslate('Rick’s Café'),'neighbors' => array(LOC_MAINSTREET, LOC_ROADHOUSE, LOC_SKIDROW, LOC_DOWNTOWN),'coords' => array(63.1, 64.1, 0),),LOC_WATERFRONT => array('name' => clienttranslate('Waterfront'),'neighbors' => array(LOC_UNIONSQUARE, LOC_DOWNTOWN, LOC_SKIDROW),'coords' => array(82.3, 27.4, 1.5),),LOC_SKIDROW => array('name' => clienttranslate('Skid Row'),'neighbors' => array(LOC_DOWNTOWN, LOC_RICKSCAFE, LOC_WATERFRONT),'coords' => array(82.5, 51.7, 0),),
// For each location create 3 slots; in the UI these will be anchors to orient// our tiles on.foreach ($this->locations as $loc_id => $loc) {$this->locations[$loc_id]['slots'] = array('crime' => array('id' => $loc_id * 100 + 1),'location' => array('id' => $loc_id * 100 + 2),'suspect' => array('id' => $loc_id * 100 + 3),);}
29 => array('name' => clienttranslate('Lakeside'), 'nametr' => self::_('Lakeside'), 'tiletype' => 'location'),30 => array('name' => clienttranslate('Forest Park'), 'nametr' => self::_('Forest Park'), 'tiletype' => 'location'),31 => array('name' => clienttranslate('Little Italy'), 'nametr' => self::_('Little Italy'), 'tiletype' => 'location'),32 => array('name' => clienttranslate('Trocadero'), 'nametr' => self::_('Trocadero'), 'tiletype' => 'location'),33 => array('name' => clienttranslate('Ocean Drive'), 'nametr' => self::_('Ocean Drive'), 'tiletype' => 'location'),34 => array('name' => clienttranslate('China Town'), 'nametr' => self::_('China Town'), 'tiletype' => 'location'),35 => array('name' => clienttranslate('Central Station'), 'nametr' => self::_('Central Station'), 'tiletype' => 'location'),36 => array('name' => clienttranslate('Main Street'), 'nametr' => self::_('Main Street'), 'tiletype' => 'location'),37 => array('name' => clienttranslate('Road House'), 'nametr' => self::_('Road House'), 'tiletype' => 'location'),38 => array('name' => clienttranslate('Union Square'), 'nametr' => self::_('Union Square'), 'tiletype' => 'location'),39 => array('name' => clienttranslate('Downtown'), 'nametr' => self::_('Downtown'), 'tiletype' => 'location'),40 => array('name' => clienttranslate('Rick’s Café'), 'nametr' => self::_('Rick’s Café'), 'tiletype' => 'location'),41 => array('name' => clienttranslate('Waterfront'), 'nametr' => self::_('Waterfront'), 'tiletype' => 'location'),42 => array('name' => clienttranslate('Skid Row'), 'nametr' => self::_('Skid Row'), 'tiletype' => 'location'),
29 => array('name' => $this->locations[LOC_LAKESIDE]['name'], 'nametr' => self::_('Lakeside'), 'tiletype' => 'location'),30 => array('name' => $this->locations[LOC_FORESTPARK]['name'], 'nametr' => self::_('Forest Park'), 'tiletype' => 'location'),31 => array('name' => $this->locations[LOC_LITTLEITALY]['name'], 'nametr' => self::_('Little Italy'), 'tiletype' => 'location'),32 => array('name' => $this->locations[LOC_TROCADERO]['name'], 'nametr' => self::_('Trocadero'), 'tiletype' => 'location'),33 => array('name' => $this->locations[LOC_OCEANDRIVE]['name'], 'nametr' => self::_('Ocean Drive'), 'tiletype' => 'location'),34 => array('name' => $this->locations[LOC_CHINATOWN]['name'], 'nametr' => self::_('China Town'), 'tiletype' => 'location'),35 => array('name' => $this->locations[LOC_CENTRALSTATION]['name'], 'nametr' => self::_('Central Station'), 'tiletype' => 'location'),36 => array('name' => $this->locations[LOC_MAINSTREET]['name'], 'nametr' => self::_('Main Street'), 'tiletype' => 'location'),37 => array('name' => $this->locations[LOC_ROADHOUSE]['name'], 'nametr' => self::_('Road House'), 'tiletype' => 'location'),38 => array('name' => $this->locations[LOC_UNIONSQUARE]['name'], 'nametr' => self::_('Union Square'), 'tiletype' => 'location'),39 => array('name' => $this->locations[LOC_DOWNTOWN]['name'], 'nametr' => self::_('Downtown'), 'tiletype' => 'location'),40 => array('name' => $this->locations[LOC_RICKSCAFE]['name'], 'nametr' => self::_('Rick’s Café'), 'tiletype' => 'location'),41 => array('name' => $this->locations[LOC_WATERFRONT]['name'], 'nametr' => self::_('Waterfront'), 'tiletype' => 'location'),42 => array('name' => $this->locations[LOC_SKIDROW]['name'], 'nametr' => self::_('Skid Row'), 'tiletype' => 'location'),
/*** THE LOCATIONS** Backend and frontend data.** `sid`: string id, for easier overview here** `coords`: The (top, left, rotation) coords (in percent) of the location slot* (middle); the crime and suspect slot locations can be calculated from this.** `neighbors`: ids of adjacent locations** slots: 1 => crime, 2 => suspect*/
if (!defined('LOC_LAKESIDE')) { // guard since this included multiple timesdefine("LOC_LAKESIDE", 1);define("LOC_FORESTPARK", 2);define('LOC_LITTLEITALY', 3);define('LOC_TROCADERO', 4);define('LOC_OCEANDRIVE', 5);define('LOC_CHINATOWN', 6);define('LOC_CENTRALSTATION', 7);define('LOC_MAINSTREET', 8);define('LOC_ROADHOUSE', 9);define('LOC_UNIONSQUARE', 10);define('LOC_DOWNTOWN', 11);define('LOC_RICKSCAFE', 12);define('LOC_WATERFRONT', 13);define('LOC_SKIDROW', 14);}$this->locations = array(LOC_LAKESIDE => array('strid' => 'lakeside','neighbors' => array(LOC_FORESTPARK, LOC_TROCADERO, LOC_LITTLEITALY),'coords' => array(4.2, 27.8, 0),),LOC_FORESTPARK => array('strid' => 'forestpark','neighbors' => array(LOC_OCEANDRIVE, LOC_TROCADERO, LOC_LAKESIDE),'coords' => array(3.8, 51.9, 2.5),),LOC_LITTLEITALY => array('strid' => 'littleitaly','neighbors' => array(LOC_LAKESIDE, LOC_TROCADERO, LOC_CENTRALSTATION, LOC_CHINATOWN),'coords' => array(23.5, 15.0, 2.0),),LOC_TROCADERO => array('strid' => 'trocadero','neighbors' => array(LOC_LAKESIDE, LOC_FORESTPARK, LOC_OCEANDRIVE, LOC_MAINSTREET, LOC_CENTRALSTATION, LOC_LITTLEITALY),'coords' => array(23.2, 39.7, 0),),LOC_OCEANDRIVE => array('strid' => 'oceandrive','neighbors' => array(LOC_FORESTPARK, LOC_ROADHOUSE, LOC_MAINSTREET, LOC_TROCADERO),'coords' => array(23.9, 64.2, 1.3),),LOC_CHINATOWN => array('strid' => 'chinatown','neighbors' => array(LOC_LITTLEITALY, LOC_CENTRALSTATION, LOC_UNIONSQUARE),'coords' => array(43.2, 2.8, 0),),LOC_CENTRALSTATION => array('strid' => 'centralstation','neighbors' => array(LOC_LITTLEITALY, LOC_TROCADERO, LOC_MAINSTREET, LOC_DOWNTOWN, LOC_UNIONSQUARE, LOC_CHINATOWN),'coords' => array(43.2, 27.5, 1.15),),LOC_MAINSTREET => array('strid' => 'mainstreet','neighbors' => array(LOC_TROCADERO, LOC_OCEANDRIVE, LOC_ROADHOUSE, LOC_RICKSCAFE, LOC_DOWNTOWN, LOC_CENTRALSTATION),'coords' => array(42.5, 51.8, 0),),LOC_ROADHOUSE => array('strid' => 'roadhouse','neighbors' => array(LOC_OCEANDRIVE, LOC_RICKSCAFE, LOC_MAINSTREET),'coords' => array(43.4, 76.2, 1.7),),LOC_UNIONSQUARE => array('strid' => 'unionsquare','neighbors' => array(LOC_CHINATOWN, LOC_CENTRALSTATION, LOC_DOWNTOWN, LOC_WATERFRONT),'coords' => array(63.0, 15.3, -1.5),),LOC_DOWNTOWN => array('strid' => 'downtown','neighbors' => array(LOC_CENTRALSTATION, LOC_MAINSTREET, LOC_RICKSCAFE, LOC_SKIDROW, LOC_WATERFRONT, LOC_UNIONSQUARE),'coords' => array(63.1, 39.4, 0),),LOC_RICKSCAFE => array('strid' => 'rickscafe','neighbors' => array(LOC_MAINSTREET, LOC_ROADHOUSE, LOC_SKIDROW, LOC_DOWNTOWN),'coords' => array(63.1, 64.1, 0),),LOC_WATERFRONT => array('strid' => 'waterfront','neighbors' => array(LOC_UNIONSQUARE, LOC_DOWNTOWN, LOC_SKIDROW),'coords' => array(82.3, 27.4, 1.5),),LOC_SKIDROW => array('strid' => 'skidrow','neighbors' => array(LOC_DOWNTOWN, LOC_RICKSCAFE, LOC_WATERFRONT),'coords' => array(82.5, 51.7, 0),),);// For each location create 3 slots; in the UI these will be anchors to orient// our tiles on.foreach ($this->locations as $loc_id => $loc) {$this->locations[$loc_id]['slots'] = array('crime' => array('id' => $loc_id * 100 + 1, 'strid' => $loc['strid'] . '_crime'),'location' => array('id' => $loc_id * 100 + 2, 'strid' => $loc['strid'] . '_location'),'suspect' => array('id' => $loc_id * 100 + 3, 'strid' => $loc['strid'] . '_suspect'),);}