示例#1
0
文件: Map.php 项目: rogiel/star-map
 /**
  * Map constructor.
  * @param $file string|MPQFile the map file name or MPQFile instance
  * @throws MapException if the file given is not a string or a mpq file
  */
 public function __construct($file)
 {
     if (is_string($file)) {
         $file = MPQFile::parseFile($file);
     }
     if (!$file instanceof MPQFile) {
         throw new MapException("Invalid map file given");
     }
     $this->file = $file;
     $this->file->parse();
 }
示例#2
0
 /**
  * Replay constructor.
  * @param $file string|MPQFile the replay file name or MPQFile instance
  * @throws ReplayException if the file given is not a string or a mpq file
  */
 public function __construct($file)
 {
     if (is_string($file)) {
         $file = MPQFile::parseFile($file);
     }
     if (!$file instanceof MPQFile) {
         throw new ReplayException("Invalid replay file given");
     }
     $this->file = $file;
     $this->versionLoader = new VersionLoader();
     $this->hydratorFactory = new GeneratedHydratorFactory();
 }
示例#3
0
 * are permitted provided that the following conditions are met:
 *
 * 1. Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 *
 * 2. Redistributions in binary form must reproduce the above copyright notice,
 * this list of conditions and the following disclaimer in the documentation
 * and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
 * THE POSSIBILITY OF SUCH DAMAGE.
 */
/*
 * You must run "composer install" in order to generate the class loader
 */
require_once __DIR__ . '/../vendor/autoload.php';
use Rogiel\MPQ\MPQFile;
$file = MPQFile::parseFile(__DIR__ . '/../../test.SC2Replay');
$stream = $file->openStream('replay.details');
while ($data = $stream->readBytes(100)) {
    echo $data;
}