<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wiki.herc.ws/w/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.herc.ws/w/index.php?action=history&amp;feed=atom&amp;title=RGZ</id>
		<title>RGZ - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.herc.ws/w/index.php?action=history&amp;feed=atom&amp;title=RGZ"/>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/w/index.php?title=RGZ&amp;action=history"/>
		<updated>2026-05-01T14:23:59Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.21.11</generator>

	<entry>
		<id>https://wiki.herc.ws/w/index.php?title=RGZ&amp;diff=40&amp;oldid=prev</id>
		<title>Mysterious: Created page with &quot;An RGZ file is a proprietary compressed archive format used for Ragnarok Online, developed by [http://en.wikipedia.org/wiki/Gravity_(company) Gravity]. It is used for patc...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/w/index.php?title=RGZ&amp;diff=40&amp;oldid=prev"/>
				<updated>2013-01-13T03:08:59Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;An RGZ file is a proprietary compressed archive format used for &lt;a href=&quot;/wiki/Ragnarok_Online&quot; title=&quot;Ragnarok Online&quot;&gt;Ragnarok Online&lt;/a&gt;, developed by [http://en.wikipedia.org/wiki/Gravity_(company) Gravity]. It is used for patc...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;An RGZ file is a proprietary compressed archive format used for [[Ragnarok Online]], developed by [http://en.wikipedia.org/wiki/Gravity_(company) Gravity]. It is used for patching the local file system directory, the game client resides in. The archive mostly contains updated game executable or new background music files. The extension is always '''.rgz''' and might be an abbreviation for '''ragnarok+gzip'''.&lt;br /&gt;
&lt;br /&gt;
==File Format==&lt;br /&gt;
The RGZ archive is a sequential concatenation of files and/or directories entries, compressed with [http://en.wikipedia.org/wiki/Gzip gzip], much like [http://en.wikipedia.org/wiki/Tar_(file_format) tar+gzip] archives are. Each entry inside the archive is defined by following structure:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Field Offset&lt;br /&gt;
!Field Size&lt;br /&gt;
!Field&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|Entry type (case-sensitive)&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|File name field length&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|?&lt;br /&gt;
|File name (zero-terminated)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The entry type specifies, what kind of data it represents. It can be '''f''' (file), '''d''' (directory) or '''e''' (end). The file name always denotes relative position of the file, inside the folder, the archive is patched to.&lt;br /&gt;
&lt;br /&gt;
===File===&lt;br /&gt;
A file entry can store any type of file, up to 2&amp;lt;sup&amp;gt;32&amp;lt;/sup&amp;gt; - 1 Byte (4 [http://en.wikipedia.org/wiki/Gibibyte GiB] - 1 Byte) in length. If the file is put into a sub-directory, the entire path is assumed to exist. A file entry always follows a directory entry, that creates the path in advance. The additional data in the file entry has the following structure:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Field Offset&lt;br /&gt;
!Field Size&lt;br /&gt;
!Field&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|4&lt;br /&gt;
|Data length ([http://en.wikipedia.org/wiki/Little_endian little endian])&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|?&lt;br /&gt;
|Data&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Directory===&lt;br /&gt;
Directory entries have no additional data, and create a single directory, not an entire path. That means if you want to create '''dir1\dir2''' it requires two entries, one for '''dir1''' and the second for '''dir2'''.&lt;br /&gt;
&lt;br /&gt;
===End===&lt;br /&gt;
End entry is the last entry inside the archive, and makes the patcher stop parsing the archive. The file name for this entry is always '''end'''.&lt;br /&gt;
&lt;br /&gt;
===Hex Workshop Definition File (ragnarok.hsl)===&lt;br /&gt;
 /********************&lt;br /&gt;
 * &lt;br /&gt;
 * Ragnarok Resource files to view and edit&lt;br /&gt;
 *&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;quot;standard-types.hsl&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #pragma displayname(&amp;quot;Ragnarok GZip&amp;quot;) ;&lt;br /&gt;
 #pragma fileextensions(&amp;quot;.rgz&amp;quot;) ;&lt;br /&gt;
 &lt;br /&gt;
 #pragma byteorder(little_endian) &lt;br /&gt;
 //#pragma maxarray(65536)&lt;br /&gt;
 #pragma hide()&lt;br /&gt;
 &lt;br /&gt;
 struct FILESTRUCT&lt;br /&gt;
 {&lt;br /&gt;
 	BYTE type;&lt;br /&gt;
 	&lt;br /&gt;
 	struct tagFILENAME&lt;br /&gt;
 	{&lt;br /&gt;
 		BYTE length;&lt;br /&gt;
 		char string[length];&lt;br /&gt;
 	};&lt;br /&gt;
 	&lt;br /&gt;
 	switch (type)&lt;br /&gt;
 	{&lt;br /&gt;
 		case 0x66:&lt;br /&gt;
 			struct FILECONTENTS&lt;br /&gt;
 			{&lt;br /&gt;
 				DWORD length;&lt;br /&gt;
 				blob  contents[length];&lt;br /&gt;
 			};&lt;br /&gt;
 			break;&lt;br /&gt;
 		default:&lt;br /&gt;
 		&lt;br /&gt;
 			break;&lt;br /&gt;
 	};&lt;br /&gt;
 	&lt;br /&gt;
 };&lt;br /&gt;
 #pragma show()&lt;br /&gt;
 &lt;br /&gt;
 struct files&lt;br /&gt;
 {&lt;br /&gt;
 	struct FILESTRUCT entries[256];&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
* [http://eamirror.skamfroj.net/xdl/download.php?id=32 RGZ pack/unpack ulility]&lt;br /&gt;
* [http://sourceforge.net/projects/clientpatcher/files/ RGZ builder]&lt;br /&gt;
* [http://vanaheim.the-aria.com/rgz/ 7-zip RGZ plugin]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[GRF]]&lt;br /&gt;
&lt;br /&gt;
[[Category:File Formats]]&lt;/div&gt;</summary>
		<author><name>Mysterious</name></author>	</entry>

	</feed>