<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.wexosmk.xyz/index.php?action=history&amp;feed=atom&amp;title=GFA_%28File_Format%29</id>
	<title>GFA (File Format) - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.wexosmk.xyz/index.php?action=history&amp;feed=atom&amp;title=GFA_%28File_Format%29"/>
	<link rel="alternate" type="text/html" href="https://wiki.wexosmk.xyz/index.php?title=GFA_(File_Format)&amp;action=history"/>
	<updated>2026-05-06T17:54:43Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://wiki.wexosmk.xyz/index.php?title=GFA_(File_Format)&amp;diff=203&amp;oldid=prev</id>
		<title>Wexos: Imported from avsys wiki</title>
		<link rel="alternate" type="text/html" href="https://wiki.wexosmk.xyz/index.php?title=GFA_(File_Format)&amp;diff=203&amp;oldid=prev"/>
		<updated>2024-05-01T17:33:00Z</updated>

		<summary type="html">&lt;p&gt;Imported from avsys wiki&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;GFA&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;G&amp;#039;&amp;#039;&amp;#039;ood-&amp;#039;&amp;#039;&amp;#039;F&amp;#039;&amp;#039;&amp;#039;eel &amp;#039;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;#039;rchive) is an archive format developed by &amp;#039;&amp;#039;Good-Feel&amp;#039;&amp;#039; and used in some [[Nintendo 3DS]] games and software such as &amp;#039;&amp;#039;StreetPass Mii Plaza&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
= File Format =&lt;br /&gt;
The file byte order is always little endian.&lt;br /&gt;
&lt;br /&gt;
== Header ==&lt;br /&gt;
Every GFA file begins with a 0x2C byte header structure.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || Char[4] || &amp;#039;&amp;#039;&amp;#039;File magic&amp;#039;&amp;#039;&amp;#039;. Always &amp;#039;&amp;#039;GFAC&amp;#039;&amp;#039; in ASCII.&lt;br /&gt;
|-&lt;br /&gt;
| 0x04 || UInt32 || &amp;#039;&amp;#039;&amp;#039;[[#Version List|Version number]]&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x08 || UInt32 || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;. Always 1.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C || UInt32 || &amp;#039;&amp;#039;&amp;#039;[[#File Allocation Table|File Allocation Table]] offset&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x10 || UInt32 || &amp;#039;&amp;#039;&amp;#039;Size of [[#File Allocation Table|File Allocation Table]]&amp;#039;&amp;#039;&amp;#039; in bytes.&lt;br /&gt;
|-&lt;br /&gt;
| 0x14 || UInt32 || &amp;#039;&amp;#039;&amp;#039;[[#GFCP|GFCP]] offset&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x18 || UInt32 || &amp;#039;&amp;#039;&amp;#039;Size of [[#GFCP|GFCP]]&amp;#039;&amp;#039;&amp;#039; in bytes.&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C || Byte[16] || &amp;#039;&amp;#039;&amp;#039;Padding&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== File Allocation Table ==&lt;br /&gt;
The Header is immediately followed by a File Allocation Table. It has the following structure:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || Int32 || &amp;#039;&amp;#039;&amp;#039;Number of [[#Node|nodes]]&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Node ===&lt;br /&gt;
Followed by the number of nodes comes all node entries. Each entry has the following structure:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || UInt32 || &amp;#039;&amp;#039;&amp;#039;File Hash&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x04 || UInt24 || &amp;#039;&amp;#039;&amp;#039;File name offset&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 || Byte || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;. Sometimes seen as 0x80.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x08 || UInt32 || &amp;#039;&amp;#039;&amp;#039;Size of the uncompressed file&amp;#039;&amp;#039;&amp;#039; in bytes.&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C || UInt32 || &amp;#039;&amp;#039;&amp;#039;Uncompressed file offset&amp;#039;&amp;#039;&amp;#039;, starting at the [[#GFCP|GFCP]] offset.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GFCP ==&lt;br /&gt;
The GFCP section contains file data. Its header has the following structure:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || Char[4] || &amp;#039;&amp;#039;&amp;#039;File magic&amp;#039;&amp;#039;&amp;#039;. Always &amp;#039;&amp;#039;GFCP&amp;#039;&amp;#039; in ASCII.&lt;br /&gt;
|-&lt;br /&gt;
| 0x04 || UInt32 || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;. Always 1.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x08 || Int32 || &amp;#039;&amp;#039;&amp;#039;Compression type&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* 0 = Uncompressed&lt;br /&gt;
* 1 = BPE&lt;br /&gt;
* 2 = LZ77 Wii Raw 10&lt;br /&gt;
* 3 = LZ77 Wii Raw 10 (as well?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C || UInt32 || &amp;#039;&amp;#039;&amp;#039;Uncompressed size&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x10 || UInt32 || &amp;#039;&amp;#039;&amp;#039;Compressed size&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After follows 4-byte aligned null-terminated strings that represent the filenames of the packed files. &lt;br /&gt;
&lt;br /&gt;
== File Data ==&lt;br /&gt;
The compressed data begins just after the the [[#GFCP|GFCP]] header.&lt;br /&gt;
&lt;br /&gt;
= Version List =&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Version !! Found in&lt;br /&gt;
|-&lt;br /&gt;
| 0.0.3.1&lt;br /&gt;
|&lt;br /&gt;
* [[StreetPass Mii Plaza]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
The following tools can handle GFA files:&lt;br /&gt;
* (none)&lt;br /&gt;
&lt;br /&gt;
[[Category: 3DS File Formats]]&lt;/div&gt;</summary>
		<author><name>Wexos</name></author>
	</entry>
</feed>