php-grf

CarlosHenrq

New member
Messages
11
Points
0
Age
32
Github
carloshenrq
Emulator
Hi guys,

I'm here to share with you my new project php-grf, with this guy you can use PHP to read and write grf files.

  • This only supports grf files with version 0x200;
  • This supports read and writing in grf files;
This code is based on https://github.com/MagicalTux/grf

The code ahead will show you how to extract all files inside grf.

<?php
require_once 'php-grf/lib/autoload.php';

// Instance a reader/writer for your grf file
$grf = new GrfFile('php-grf/tests/test200.grf');

foreach ($grf->getEntries() as $entry) {
$dir = dirname($entry->getFilename());

if (is_dir($dir) === false)
mkdir ($dir, 0777, true);

$file = str_replace('\\', '/', $entry->getFilename());
$buffer = $entry->getUnCompressedBuffer();

$fp = fopen($file, 'wb');
fwrite($fp, $buffer);
fflush($fp);
fclose($fp);
}

// Dispose all resources used
$grf = null;




Enjoy it, has any issue or problem with the lib? Please report it and help to keep it good for you all use.

Repo URL: https://github.com/carloshenrq/php-grf

Other useful repositories:

https://github.com/arminherling/GRF/ (Read-only C#)

https://github.com/MagicalTux/grf (Read-Write C)

 
Last edited by a moderator:
nice effort. im a noob, what practical application does this have?
Hi!

As I'm building an updater (like thor patcher), this can allow me to create new features like check files inside GRF comparing local files with server files and download only files not equals to the server.

Another practical application is something like RoChargenPHP.

 
Last edited by a moderator:
Yes in fact rochargenphp uses the same principle as you, isn't it? 
I don't know the code from ROChargenPHP, but I suppose yes. He reads GRF or a data folder extracted.

This is only for reading and writing at GRF files. Not for parsing .spr, .act or .pal files.

We can create an PHPGrfEditor with this one :v

I've searched a little and found this Grf class in ROChargenPHP https://github.com/ScDarko/ROChargenPHP/blob/master/loaders/class.Grf.php

Just for update, this now reads and writes grf files.

 
Last edited by a moderator:
Back
Top