<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.re.virtualworld.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=CrystalPixel</id>
	<title>Virtual World R.E. - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.re.virtualworld.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=CrystalPixel"/>
	<link rel="alternate" type="text/html" href="https://wiki.re.virtualworld.fr/index.php/Special:Contributions/CrystalPixel"/>
	<updated>2026-04-12T22:36:07Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1258</id>
		<title>Borg Setup Observation</title>
		<link rel="alternate" type="text/html" href="https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1258"/>
		<updated>2022-10-11T22:31:29Z</updated>

		<summary type="html">&lt;p&gt;CrystalPixel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Borg Setup Observation ==&lt;br /&gt;
Each Borg has a set of fields which are responsible for certain properties and behaviours.&lt;br /&gt;
&amp;lt;br&amp;gt;These are as follows:&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
| image=File:Major_research.png | text=&#039;&#039;&#039;This section needs a lot of research&#039;&#039;&#039; &amp;lt;/br&amp;gt; This area is undergoing research, except this page to change a lot}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Address &lt;br /&gt;
! Type&lt;br /&gt;
! Observations &lt;br /&gt;
|+ Properties&lt;br /&gt;
|-&lt;br /&gt;
| 0x27c || (4 bytes) || Attack Values Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ac || (4 bytes) || [[Borg - data file | Set File Pointer]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b0 || (4 bytes) || Borg/Attack Data? (includes knockdown function index and seemingly attack data)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b4 || (4 bytes) || Attack Controller&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b8 || (4 bytes) || Prop Load Function?&lt;br /&gt;
|-&lt;br /&gt;
| 0x4bc || (4 bytes) || Idle Before Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c0 || (4 bytes) || Idle After Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c4 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c8 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4cc || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d0 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d4 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d8 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4dc || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e0 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e4 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e8 || (4 bytes) || Sound Data Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ec || (4 bytes) || Direction DAT? (need better name/research)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4f0 || (4 bytes) || Action Functions?&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d80 || (4 bytes) || ? (DAT, affects animations?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d84 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d88 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d8c || (4 bytes) || ? (DAT)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>CrystalPixel</name></author>
	</entry>
	<entry>
		<id>https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1257</id>
		<title>Borg Setup Observation</title>
		<link rel="alternate" type="text/html" href="https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1257"/>
		<updated>2022-10-11T22:31:02Z</updated>

		<summary type="html">&lt;p&gt;CrystalPixel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Borg Setup Observation ==&lt;br /&gt;
Each Borg has a set of fields which are responsible for certain properties and behaviours.&lt;br /&gt;
&amp;lt;br&amp;gt;These are as follows:&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
| image=File:Major_research.png | text=&#039;&#039;&#039;This section needs a lot of research&#039;&#039;&#039; &amp;lt;/br&amp;gt; This area is undergoing research, except this page to change a lot}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Address &lt;br /&gt;
! Type&lt;br /&gt;
! Observations &lt;br /&gt;
|+ Properties&lt;br /&gt;
|-&lt;br /&gt;
| 0x27c || (4 bytes) || Attack Values Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ac || (4 bytes) || [[Borg data file | Set File Pointer]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b0 || (4 bytes) || Borg/Attack Data? (includes knockdown function index and seemingly attack data)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b4 || (4 bytes) || Attack Controller&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b8 || (4 bytes) || Prop Load Function?&lt;br /&gt;
|-&lt;br /&gt;
| 0x4bc || (4 bytes) || Idle Before Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c0 || (4 bytes) || Idle After Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c4 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c8 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4cc || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d0 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d4 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d8 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4dc || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e0 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e4 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e8 || (4 bytes) || Sound Data Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ec || (4 bytes) || Direction DAT? (need better name/research)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4f0 || (4 bytes) || Action Functions?&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d80 || (4 bytes) || ? (DAT, affects animations?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d84 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d88 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d8c || (4 bytes) || ? (DAT)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>CrystalPixel</name></author>
	</entry>
	<entry>
		<id>https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1256</id>
		<title>Borg Setup Observation</title>
		<link rel="alternate" type="text/html" href="https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1256"/>
		<updated>2022-10-11T22:27:51Z</updated>

		<summary type="html">&lt;p&gt;CrystalPixel: /* Borg Setup Observation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Borg Setup Observation ==&lt;br /&gt;
Each Borg has a set of fields which are responsible for certain properties and behaviours.&lt;br /&gt;
&amp;lt;br&amp;gt;These are as follows:&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
| image=File:Major_research.png | text=&#039;&#039;&#039;This section needs a lot of research&#039;&#039;&#039; &amp;lt;/br&amp;gt; This area is undergoing research, except this page to change a lot}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Address &lt;br /&gt;
! Type&lt;br /&gt;
! Observations &lt;br /&gt;
|+ Properties&lt;br /&gt;
|-&lt;br /&gt;
| 0x27c || (4 bytes) || Attack Values Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ac || (4 bytes) || Set File Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b0 || (4 bytes) || Borg/Attack Data? (includes knockdown function index and seemingly attack data)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b4 || (4 bytes) || Attack Controller&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b8 || (4 bytes) || Prop Load Function?&lt;br /&gt;
|-&lt;br /&gt;
| 0x4bc || (4 bytes) || Idle Before Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c0 || (4 bytes) || Idle After Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c4 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c8 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4cc || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d0 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d4 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d8 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4dc || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e0 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e4 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e8 || (4 bytes) || Sound Data Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ec || (4 bytes) || Direction DAT? (need better name/research)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4f0 || (4 bytes) || Action Functions?&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d80 || (4 bytes) || ? (DAT, affects animations?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d84 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d88 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d8c || (4 bytes) || ? (DAT)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>CrystalPixel</name></author>
	</entry>
	<entry>
		<id>https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1255</id>
		<title>Borg Setup Observation</title>
		<link rel="alternate" type="text/html" href="https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1255"/>
		<updated>2022-10-11T22:25:32Z</updated>

		<summary type="html">&lt;p&gt;CrystalPixel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Borg Setup Observation ==&lt;br /&gt;
Each Borg has a set of fields which are responsible for certain properties and behaviours.&lt;br /&gt;
&lt;br /&gt;
These are as follows:&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
| image=File:Major_research.png | text=&#039;&#039;&#039;This section needs a lot of research&#039;&#039;&#039; &amp;lt;/br&amp;gt; This area is undergoing research, except this page to change a lot}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Address &lt;br /&gt;
! Type&lt;br /&gt;
! Observations &lt;br /&gt;
|+ Properties&lt;br /&gt;
|-&lt;br /&gt;
| 0x27c || (4 bytes) || Attack Values Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ac || (4 bytes) || Set File Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b0 || (4 bytes) || Borg/Attack Data? (includes knockdown function index and seemingly attack data)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b4 || (4 bytes) || Attack Controller&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b8 || (4 bytes) || Prop Load Function?&lt;br /&gt;
|-&lt;br /&gt;
| 0x4bc || (4 bytes) || Idle Before Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c0 || (4 bytes) || Idle After Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c4 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c8 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4cc || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d0 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d4 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d8 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4dc || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e0 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e4 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e8 || (4 bytes) || Sound Data Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ec || (4 bytes) || Direction DAT? (need better name/research)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4f0 || (4 bytes) || Action Functions?&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d80 || (4 bytes) || ? (DAT, affects animations?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d84 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d88 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d8c || (4 bytes) || ? (DAT)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>CrystalPixel</name></author>
	</entry>
	<entry>
		<id>https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1254</id>
		<title>Borg Setup Observation</title>
		<link rel="alternate" type="text/html" href="https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1254"/>
		<updated>2022-10-11T22:24:04Z</updated>

		<summary type="html">&lt;p&gt;CrystalPixel: /* Borg Setup Observation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Borg Setup Observation ==&lt;br /&gt;
{{Box&lt;br /&gt;
| image=File:Major_research.png | text=&#039;&#039;&#039;This section needs a lot of research&#039;&#039;&#039; &amp;lt;/br&amp;gt; This area is undergoing research, except this page to change a lot}}&lt;br /&gt;
&lt;br /&gt;
Each Borg has a set of fields which are responsible for certain properties and behaviours.&lt;br /&gt;
&lt;br /&gt;
These are as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Address &lt;br /&gt;
! Type&lt;br /&gt;
! Observations &lt;br /&gt;
|+ Properties&lt;br /&gt;
|-&lt;br /&gt;
| 0x27c || (4 bytes) || Attack Values Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ac || (4 bytes) || Set File Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b0 || (4 bytes) || Borg/Attack Data? (includes knockdown function index and seemingly attack data)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b4 || (4 bytes) || Attack Controller&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b8 || (4 bytes) || Prop Load Function?&lt;br /&gt;
|-&lt;br /&gt;
| 0x4bc || (4 bytes) || Idle Before Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c0 || (4 bytes) || Idle After Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c4 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c8 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4cc || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d0 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d4 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d8 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4dc || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e0 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e4 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e8 || (4 bytes) || Sound Data Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ec || (4 bytes) || Direction DAT? (need better name/research)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4f0 || (4 bytes) || Action Functions?&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d80 || (4 bytes) || ? (DAT, affects animations?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d84 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d88 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d8c || (4 bytes) || ? (DAT)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>CrystalPixel</name></author>
	</entry>
	<entry>
		<id>https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1253</id>
		<title>Borg Setup Observation</title>
		<link rel="alternate" type="text/html" href="https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1253"/>
		<updated>2022-10-11T22:23:52Z</updated>

		<summary type="html">&lt;p&gt;CrystalPixel: /* Borg Setup Observation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Borg Setup Observation ==&lt;br /&gt;
{{Box&lt;br /&gt;
| image=File:Major_research.png | text=&#039;&#039;&#039;This section needs a lot of research&#039;&#039;&#039; &amp;lt;/br&amp;gt; This area is undergoing research, except this page to change a lot}}&lt;br /&gt;
&lt;br /&gt;
Each Borg has a set of fields which are responsible for certain properties and behaviours.&lt;br /&gt;
These are as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Address &lt;br /&gt;
! Type&lt;br /&gt;
! Observations &lt;br /&gt;
|+ Properties&lt;br /&gt;
|-&lt;br /&gt;
| 0x27c || (4 bytes) || Attack Values Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ac || (4 bytes) || Set File Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b0 || (4 bytes) || Borg/Attack Data? (includes knockdown function index and seemingly attack data)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b4 || (4 bytes) || Attack Controller&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b8 || (4 bytes) || Prop Load Function?&lt;br /&gt;
|-&lt;br /&gt;
| 0x4bc || (4 bytes) || Idle Before Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c0 || (4 bytes) || Idle After Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c4 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c8 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4cc || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d0 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d4 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d8 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4dc || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e0 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e4 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e8 || (4 bytes) || Sound Data Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ec || (4 bytes) || Direction DAT? (need better name/research)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4f0 || (4 bytes) || Action Functions?&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d80 || (4 bytes) || ? (DAT, affects animations?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d84 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d88 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d8c || (4 bytes) || ? (DAT)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>CrystalPixel</name></author>
	</entry>
	<entry>
		<id>https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1252</id>
		<title>Borg Setup Observation</title>
		<link rel="alternate" type="text/html" href="https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1252"/>
		<updated>2022-10-11T22:21:43Z</updated>

		<summary type="html">&lt;p&gt;CrystalPixel: /* Borg Setup Observation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Borg Setup Observation ==&lt;br /&gt;
{{Box&lt;br /&gt;
| image=File:Major_research.png | text=&#039;&#039;&#039;This section needs a lot of research&#039;&#039;&#039; &amp;lt;/br&amp;gt; This area is undergoing research, except this page to change a lot}}&lt;br /&gt;
&lt;br /&gt;
These are as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Address &lt;br /&gt;
! Type&lt;br /&gt;
! Observations &lt;br /&gt;
|+ Properties&lt;br /&gt;
|-&lt;br /&gt;
| 0x27c || (4 bytes) || Attack Values Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ac || (4 bytes) || Set File Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b0 || (4 bytes) || Borg/Attack Data? (includes knockdown function index and seemingly attack data)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b4 || (4 bytes) || Attack Controller&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b8 || (4 bytes) || Prop Load Function?&lt;br /&gt;
|-&lt;br /&gt;
| 0x4bc || (4 bytes) || Idle Before Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c0 || (4 bytes) || Idle After Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c4 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c8 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4cc || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d0 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d4 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d8 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4dc || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e0 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e4 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e8 || (4 bytes) || Sound Data Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ec || (4 bytes) || Direction DAT? (need better name/research)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4f0 || (4 bytes) || Action Functions?&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d80 || (4 bytes) || ? (DAT, affects animations?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d84 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d88 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d8c || (4 bytes) || ? (DAT)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>CrystalPixel</name></author>
	</entry>
	<entry>
		<id>https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1251</id>
		<title>Borg Setup Observation</title>
		<link rel="alternate" type="text/html" href="https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1251"/>
		<updated>2022-10-11T22:20:33Z</updated>

		<summary type="html">&lt;p&gt;CrystalPixel: /* Borg Setup Observation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Borg Setup Observation ==&lt;br /&gt;
{{Box&lt;br /&gt;
| image=Major_research.png | text=&#039;&#039;&#039;This section needs a lot of research&#039;&#039;&#039; &amp;lt;/br&amp;gt; This area is undergoing research, except this page to change a lot}}&lt;br /&gt;
&lt;br /&gt;
These are as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Address &lt;br /&gt;
! Type&lt;br /&gt;
! Observations &lt;br /&gt;
|+ Properties&lt;br /&gt;
|-&lt;br /&gt;
| 0x27c || (4 bytes) || Attack Values Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ac || (4 bytes) || Set File Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b0 || (4 bytes) || Borg/Attack Data? (includes knockdown function index and seemingly attack data)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b4 || (4 bytes) || Attack Controller&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b8 || (4 bytes) || Prop Load Function?&lt;br /&gt;
|-&lt;br /&gt;
| 0x4bc || (4 bytes) || Idle Before Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c0 || (4 bytes) || Idle After Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c4 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c8 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4cc || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d0 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d4 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d8 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4dc || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e0 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e4 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e8 || (4 bytes) || Sound Data Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ec || (4 bytes) || Direction DAT? (need better name/research)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4f0 || (4 bytes) || Action Functions?&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d80 || (4 bytes) || ? (DAT, affects animations?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d84 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d88 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d8c || (4 bytes) || ? (DAT)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>CrystalPixel</name></author>
	</entry>
	<entry>
		<id>https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1250</id>
		<title>Borg Setup Observation</title>
		<link rel="alternate" type="text/html" href="https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1250"/>
		<updated>2022-10-11T22:19:15Z</updated>

		<summary type="html">&lt;p&gt;CrystalPixel: /* Borg Setup Observation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Borg Setup Observation ==&lt;br /&gt;
{{Box image=Major_research.png | text=&#039;&#039;&#039;This section needs a lot of research&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/br&amp;gt; This area is undergoing research, except this page to change a lot}}&lt;br /&gt;
&lt;br /&gt;
These are as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Address &lt;br /&gt;
! Type&lt;br /&gt;
! Observations &lt;br /&gt;
|+ Properties&lt;br /&gt;
|-&lt;br /&gt;
| 0x27c || (4 bytes) || Attack Values Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ac || (4 bytes) || Set File Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b0 || (4 bytes) || Borg/Attack Data? (includes knockdown function index and seemingly attack data)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b4 || (4 bytes) || Attack Controller&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b8 || (4 bytes) || Prop Load Function?&lt;br /&gt;
|-&lt;br /&gt;
| 0x4bc || (4 bytes) || Idle Before Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c0 || (4 bytes) || Idle After Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c4 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c8 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4cc || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d0 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d4 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d8 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4dc || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e0 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e4 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e8 || (4 bytes) || Sound Data Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ec || (4 bytes) || Direction DAT? (need better name/research)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4f0 || (4 bytes) || Action Functions?&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d80 || (4 bytes) || ? (DAT, affects animations?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d84 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d88 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d8c || (4 bytes) || ? (DAT)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>CrystalPixel</name></author>
	</entry>
	<entry>
		<id>https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1249</id>
		<title>Borg Setup Observation</title>
		<link rel="alternate" type="text/html" href="https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1249"/>
		<updated>2022-10-11T22:17:16Z</updated>

		<summary type="html">&lt;p&gt;CrystalPixel: /* Borg Setup Observation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Borg Setup Observation ==&lt;br /&gt;
{{Box image=Major_research.png | text=&#039;&#039;&#039;This section needs a lot of research&#039;&#039;&#039; \n This area is undergoing research, except this page to change a lot}}&lt;br /&gt;
&lt;br /&gt;
These are as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Address &lt;br /&gt;
! Type&lt;br /&gt;
! Observations &lt;br /&gt;
|+ Properties&lt;br /&gt;
|-&lt;br /&gt;
| 0x27c || (4 bytes) || Attack Values Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ac || (4 bytes) || Set File Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b0 || (4 bytes) || Borg/Attack Data? (includes knockdown function index and seemingly attack data)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b4 || (4 bytes) || Attack Controller&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b8 || (4 bytes) || Prop Load Function?&lt;br /&gt;
|-&lt;br /&gt;
| 0x4bc || (4 bytes) || Idle Before Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c0 || (4 bytes) || Idle After Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c4 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c8 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4cc || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d0 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d4 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d8 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4dc || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e0 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e4 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e8 || (4 bytes) || Sound Data Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ec || (4 bytes) || Direction DAT? (need better name/research)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4f0 || (4 bytes) || Action Functions?&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d80 || (4 bytes) || ? (DAT, affects animations?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d84 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d88 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d8c || (4 bytes) || ? (DAT)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>CrystalPixel</name></author>
	</entry>
	<entry>
		<id>https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1248</id>
		<title>Borg Setup Observation</title>
		<link rel="alternate" type="text/html" href="https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1248"/>
		<updated>2022-10-11T22:16:23Z</updated>

		<summary type="html">&lt;p&gt;CrystalPixel: /* Borg Setup Observation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Borg Setup Observation ==&lt;br /&gt;
{{Box image=File:Major_research.png | text=&#039;&#039;&#039;This section needs a lot of research&#039;&#039;&#039; \n This area is undergoing research, except this page to change a lot}}&lt;br /&gt;
&lt;br /&gt;
These are as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Address &lt;br /&gt;
! Type&lt;br /&gt;
! Observations &lt;br /&gt;
|+ Properties&lt;br /&gt;
|-&lt;br /&gt;
| 0x27c || (4 bytes) || Attack Values Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ac || (4 bytes) || Set File Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b0 || (4 bytes) || Borg/Attack Data? (includes knockdown function index and seemingly attack data)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b4 || (4 bytes) || Attack Controller&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b8 || (4 bytes) || Prop Load Function?&lt;br /&gt;
|-&lt;br /&gt;
| 0x4bc || (4 bytes) || Idle Before Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c0 || (4 bytes) || Idle After Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c4 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c8 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4cc || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d0 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d4 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d8 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4dc || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e0 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e4 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e8 || (4 bytes) || Sound Data Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ec || (4 bytes) || Direction DAT? (need better name/research)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4f0 || (4 bytes) || Action Functions?&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d80 || (4 bytes) || ? (DAT, affects animations?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d84 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d88 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d8c || (4 bytes) || ? (DAT)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>CrystalPixel</name></author>
	</entry>
	<entry>
		<id>https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1247</id>
		<title>Borg Setup Observation</title>
		<link rel="alternate" type="text/html" href="https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1247"/>
		<updated>2022-10-11T22:11:40Z</updated>

		<summary type="html">&lt;p&gt;CrystalPixel: /* Borg Setup Observation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Borg Setup Observation ==&lt;br /&gt;
{{Research | 3| This area is undergoing research, expect this page to change a lot! }}&lt;br /&gt;
Each Borg has a set of fields which are responsible for certain properties and behaviours.&lt;br /&gt;
&lt;br /&gt;
These are as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Address &lt;br /&gt;
! Type&lt;br /&gt;
! Observations &lt;br /&gt;
|+ Properties&lt;br /&gt;
|-&lt;br /&gt;
| 0x27c || (4 bytes) || Attack Values Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ac || (4 bytes) || Set File Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b0 || (4 bytes) || Borg/Attack Data? (includes knockdown function index and seemingly attack data)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b4 || (4 bytes) || Attack Controller&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b8 || (4 bytes) || Prop Load Function?&lt;br /&gt;
|-&lt;br /&gt;
| 0x4bc || (4 bytes) || Idle Before Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c0 || (4 bytes) || Idle After Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c4 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c8 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4cc || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d0 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d4 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d8 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4dc || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e0 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e4 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e8 || (4 bytes) || Sound Data Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ec || (4 bytes) || Direction DAT? (need better name/research)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4f0 || (4 bytes) || Action Functions?&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d80 || (4 bytes) || ? (DAT, affects animations?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d84 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d88 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d8c || (4 bytes) || ? (DAT)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>CrystalPixel</name></author>
	</entry>
	<entry>
		<id>https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1246</id>
		<title>Borg Setup Observation</title>
		<link rel="alternate" type="text/html" href="https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1246"/>
		<updated>2022-10-11T22:11:21Z</updated>

		<summary type="html">&lt;p&gt;CrystalPixel: /* Borg Setup Observation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Borg Setup Observation ==&lt;br /&gt;
{{Research | 3| This area is undergoing research, expect this page to change a lot! }}&lt;br /&gt;
Each Borg has a set of fields which are responsible for certain properties and behaviours.&lt;br /&gt;
\n\nThese are as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Address &lt;br /&gt;
! Type&lt;br /&gt;
! Observations &lt;br /&gt;
|+ Properties&lt;br /&gt;
|-&lt;br /&gt;
| 0x27c || (4 bytes) || Attack Values Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ac || (4 bytes) || Set File Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b0 || (4 bytes) || Borg/Attack Data? (includes knockdown function index and seemingly attack data)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b4 || (4 bytes) || Attack Controller&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b8 || (4 bytes) || Prop Load Function?&lt;br /&gt;
|-&lt;br /&gt;
| 0x4bc || (4 bytes) || Idle Before Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c0 || (4 bytes) || Idle After Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c4 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c8 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4cc || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d0 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d4 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d8 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4dc || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e0 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e4 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e8 || (4 bytes) || Sound Data Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ec || (4 bytes) || Direction DAT? (need better name/research)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4f0 || (4 bytes) || Action Functions?&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d80 || (4 bytes) || ? (DAT, affects animations?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d84 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d88 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d8c || (4 bytes) || ? (DAT)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>CrystalPixel</name></author>
	</entry>
	<entry>
		<id>https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1245</id>
		<title>Borg Setup Observation</title>
		<link rel="alternate" type="text/html" href="https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1245"/>
		<updated>2022-10-11T22:11:03Z</updated>

		<summary type="html">&lt;p&gt;CrystalPixel: /* Borg Setup Observation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Borg Setup Observation ==&lt;br /&gt;
{{Research | 3| This area is undergoing research, expect this page to change a lot! }}&lt;br /&gt;
Each Borg has a set of fields which are responsible for certain properties and behaviours.&lt;br /&gt;
\nThese are as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Address &lt;br /&gt;
! Type&lt;br /&gt;
! Observations &lt;br /&gt;
|+ Properties&lt;br /&gt;
|-&lt;br /&gt;
| 0x27c || (4 bytes) || Attack Values Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ac || (4 bytes) || Set File Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b0 || (4 bytes) || Borg/Attack Data? (includes knockdown function index and seemingly attack data)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b4 || (4 bytes) || Attack Controller&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b8 || (4 bytes) || Prop Load Function?&lt;br /&gt;
|-&lt;br /&gt;
| 0x4bc || (4 bytes) || Idle Before Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c0 || (4 bytes) || Idle After Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c4 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c8 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4cc || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d0 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d4 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d8 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4dc || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e0 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e4 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e8 || (4 bytes) || Sound Data Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ec || (4 bytes) || Direction DAT? (need better name/research)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4f0 || (4 bytes) || Action Functions?&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d80 || (4 bytes) || ? (DAT, affects animations?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d84 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d88 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d8c || (4 bytes) || ? (DAT)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>CrystalPixel</name></author>
	</entry>
	<entry>
		<id>https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1244</id>
		<title>Borg Setup Observation</title>
		<link rel="alternate" type="text/html" href="https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1244"/>
		<updated>2022-10-11T22:10:36Z</updated>

		<summary type="html">&lt;p&gt;CrystalPixel: /* Borg Setup Observation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Borg Setup Observation ==&lt;br /&gt;
{{Research | 3| This area is undergoing research, expect this page to change a lot! }}&lt;br /&gt;
Each Borg has a set of fields which are responsible for certain properties and behaviours.&lt;br /&gt;
These are as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Address &lt;br /&gt;
! Type&lt;br /&gt;
! Observations &lt;br /&gt;
|+ Properties&lt;br /&gt;
|-&lt;br /&gt;
| 0x27c || (4 bytes) || Attack Values Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ac || (4 bytes) || Set File Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b0 || (4 bytes) || Borg/Attack Data? (includes knockdown function index and seemingly attack data)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b4 || (4 bytes) || Attack Controller&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b8 || (4 bytes) || Prop Load Function?&lt;br /&gt;
|-&lt;br /&gt;
| 0x4bc || (4 bytes) || Idle Before Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c0 || (4 bytes) || Idle After Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c4 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c8 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4cc || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d0 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d4 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d8 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4dc || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e0 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e4 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e8 || (4 bytes) || Sound Data Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ec || (4 bytes) || Direction DAT? (need better name/research)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4f0 || (4 bytes) || Action Functions?&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d80 || (4 bytes) || ? (DAT, affects animations?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d84 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d88 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d8c || (4 bytes) || ? (DAT)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>CrystalPixel</name></author>
	</entry>
	<entry>
		<id>https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1243</id>
		<title>Borg Setup Observation</title>
		<link rel="alternate" type="text/html" href="https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1243"/>
		<updated>2022-10-11T22:08:35Z</updated>

		<summary type="html">&lt;p&gt;CrystalPixel: /* Borg Setup Observation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Borg Setup Observation ==&lt;br /&gt;
{{Research | 3| This area is undergoing research, expect this page to change a lot! }}&lt;br /&gt;
{{Research | 2| Each Borg has a set of fields which are responsible for certain properties and behaviours. }}&lt;br /&gt;
{{Research | 3| These are as follows: }}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Address &lt;br /&gt;
! Type&lt;br /&gt;
! Observations &lt;br /&gt;
|+ Properties&lt;br /&gt;
|-&lt;br /&gt;
| 0x27c || (4 bytes) || Attack Values Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ac || (4 bytes) || Set File Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b0 || (4 bytes) || Borg/Attack Data? (includes knockdown function index and seemingly attack data)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b4 || (4 bytes) || Attack Controller&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b8 || (4 bytes) || Prop Load Function?&lt;br /&gt;
|-&lt;br /&gt;
| 0x4bc || (4 bytes) || Idle Before Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c0 || (4 bytes) || Idle After Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c4 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c8 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4cc || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d0 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d4 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d8 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4dc || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e0 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e4 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e8 || (4 bytes) || Sound Data Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ec || (4 bytes) || Direction DAT? (need better name/research)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4f0 || (4 bytes) || Action Functions?&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d80 || (4 bytes) || ? (DAT, affects animations?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d84 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d88 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d8c || (4 bytes) || ? (DAT)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>CrystalPixel</name></author>
	</entry>
	<entry>
		<id>https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1242</id>
		<title>Borg Setup Observation</title>
		<link rel="alternate" type="text/html" href="https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1242"/>
		<updated>2022-10-11T22:01:12Z</updated>

		<summary type="html">&lt;p&gt;CrystalPixel: /* Borg Setup Observation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Borg Setup Observation ==&lt;br /&gt;
This area is undergoing research, expect this page to change a lot!&lt;br /&gt;
Each Borg has a set of fields which are responsible for certain properties and behaviours.&lt;br /&gt;
These are as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Address &lt;br /&gt;
! Type&lt;br /&gt;
! Observations &lt;br /&gt;
|+ Properties&lt;br /&gt;
|-&lt;br /&gt;
| 0x27c || (4 bytes) || Attack Values Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ac || (4 bytes) || Set File Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b0 || (4 bytes) || Borg/Attack Data? (includes knockdown function index and seemingly attack data)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b4 || (4 bytes) || Attack Controller&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b8 || (4 bytes) || Prop Load Function?&lt;br /&gt;
|-&lt;br /&gt;
| 0x4bc || (4 bytes) || Idle Before Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c0 || (4 bytes) || Idle After Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c4 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c8 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4cc || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d0 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d4 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d8 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4dc || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e0 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e4 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e8 || (4 bytes) || Sound Data Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ec || (4 bytes) || Direction DAT? (need better name/research)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4f0 || (4 bytes) || Action Functions?&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d80 || (4 bytes) || ? (DAT, affects animations?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d84 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d88 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d8c || (4 bytes) || ? (DAT)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>CrystalPixel</name></author>
	</entry>
	<entry>
		<id>https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1241</id>
		<title>Borg Setup Observation</title>
		<link rel="alternate" type="text/html" href="https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1241"/>
		<updated>2022-10-11T22:00:42Z</updated>

		<summary type="html">&lt;p&gt;CrystalPixel: /* Borg Setup Observation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Borg Setup Observation ==&lt;br /&gt;
This area is undergoing research, expect this page to change a lot!&lt;br /&gt;
Each Borg has a set of fields which are responsible for certain properties and behaviours.&lt;br /&gt;
These are as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Address &lt;br /&gt;
! Type&lt;br /&gt;
! Observations &lt;br /&gt;
|+ Caption text&lt;br /&gt;
|-&lt;br /&gt;
| 0x27c || (4 bytes) || Attack Values Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ac || (4 bytes) || Set File Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b0 || (4 bytes) || Borg/Attack Data? (includes knockdown function index and seemingly attack data)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b4 || (4 bytes) || Attack Controller&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b8 || (4 bytes) || Prop Load Function?&lt;br /&gt;
|-&lt;br /&gt;
| 0x4bc || (4 bytes) || Idle Before Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c0 || (4 bytes) || Idle After Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c4 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c8 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4cc || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d0 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d4 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d8 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4dc || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e0 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e4 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e8 || (4 bytes) || Sound Data Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ec || (4 bytes) || Direction DAT? (need better name/research)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4f0 || (4 bytes) || Action Functions?&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d80 || (4 bytes) || ? (DAT, affects animations?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d84 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d88 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d8c || (4 bytes) || ? (DAT)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>CrystalPixel</name></author>
	</entry>
	<entry>
		<id>https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1240</id>
		<title>Borg Setup Observation</title>
		<link rel="alternate" type="text/html" href="https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1240"/>
		<updated>2022-10-11T21:56:55Z</updated>

		<summary type="html">&lt;p&gt;CrystalPixel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Borg Setup Observation ==&lt;br /&gt;
This area is undergoing research, expect this page to change a lot!&lt;br /&gt;
Each Borg has a set of fields which are responsible for certain properties and behaviours.&lt;br /&gt;
These are as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Caption text&lt;br /&gt;
|-&lt;br /&gt;
| 0x27c || (4 bytes) || Attack Values Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ac || (4 bytes) || Set File Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b0 || (4 bytes) || Borg/Attack Data? (includes knockdown function index and seemingly attack data)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b4 || (4 bytes) || Attack Controller&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b8 || (4 bytes) || Prop Load Function?&lt;br /&gt;
|-&lt;br /&gt;
| 0x4bc || (4 bytes) || Idle Before Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c0 || (4 bytes) || Idle After Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c4 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c8 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4cc || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d0 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d4 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d8 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4dc || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e0 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e4 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e8 || (4 bytes) || Sound Data Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ec || (4 bytes) || Direction DAT? (need better name/research)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4f0 || (4 bytes) || Action Functions?&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d80 || (4 bytes) || ? (DAT, affects animations?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d84 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d88 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d8c || (4 bytes) || ? (DAT)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>CrystalPixel</name></author>
	</entry>
	<entry>
		<id>https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1239</id>
		<title>Borg Setup Observation</title>
		<link rel="alternate" type="text/html" href="https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1239"/>
		<updated>2022-10-11T21:55:38Z</updated>

		<summary type="html">&lt;p&gt;CrystalPixel: /* Borg Setup Observation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Caption text&lt;br /&gt;
|-&lt;br /&gt;
| 0x27c || (4 bytes) || Attack Values Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ac || (4 bytes) || Set File Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b0 || (4 bytes) || Borg/Attack Data? (includes knockdown function index and seemingly attack data)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b4 || (4 bytes) || Attack Controller&lt;br /&gt;
|-&lt;br /&gt;
| 0x4b8 || (4 bytes) || Prop Load Function?&lt;br /&gt;
|-&lt;br /&gt;
| 0x4bc || (4 bytes) || Idle Before Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c0 || (4 bytes) || Idle After Function&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c4 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c8 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4cc || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d0 || (4 bytes) || ? (empty function?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d4 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4d8 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4dc || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e0 || (4 bytes) || ? (empty DAT?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e4 || (4 bytes) || ? (function)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4e8 || (4 bytes) || Sound Data Pointer&lt;br /&gt;
|-&lt;br /&gt;
| 0x4ec || (4 bytes) || Direction DAT? (need better name/research)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4f0 || (4 bytes) || Action Functions?&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d80 || (4 bytes) || ? (DAT, affects animations?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d84 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d88 || (4 bytes) || ? (DAT)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1d8c || (4 bytes) || ? (DAT)&lt;br /&gt;
|}&lt;br /&gt;
== Borg Setup Observation ==&lt;br /&gt;
This area is undergoing research, expect this page to change a lot!&lt;br /&gt;
Each Borg has a set of fields which are responsible for certain properties and behaviours.&lt;br /&gt;
These are as follows:&lt;/div&gt;</summary>
		<author><name>CrystalPixel</name></author>
	</entry>
	<entry>
		<id>https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1238</id>
		<title>Borg Setup Observation</title>
		<link rel="alternate" type="text/html" href="https://wiki.re.virtualworld.fr/index.php?title=Borg_Setup_Observation&amp;diff=1238"/>
		<updated>2022-10-11T21:29:31Z</updated>

		<summary type="html">&lt;p&gt;CrystalPixel: Created page with &amp;quot;== Borg Setup Observation == This area is undergoing research, expect this page to change a lot! Each Borg has a set of fields which are responsible for certain properties and behaviours. These are as follows: 0x27c (4 bytes): Attack Values Pointer. 0x4ac (4 bytes): Set File Pointer. 0x4b0 (4 bytes): Borg/Attack Data? (includes knockdown function index and seemingly attack data). 0x4b4 (4 bytes): Attack Controller. 0x4b8 (4 bytes): Prop Load Function?. 0x4bc (4 bytes): I...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Borg Setup Observation ==&lt;br /&gt;
This area is undergoing research, expect this page to change a lot!&lt;br /&gt;
Each Borg has a set of fields which are responsible for certain properties and behaviours.&lt;br /&gt;
These are as follows:&lt;br /&gt;
0x27c (4 bytes): Attack Values Pointer.&lt;br /&gt;
0x4ac (4 bytes): Set File Pointer.&lt;br /&gt;
0x4b0 (4 bytes): Borg/Attack Data? (includes knockdown function index and seemingly attack data).&lt;br /&gt;
0x4b4 (4 bytes): Attack Controller.&lt;br /&gt;
0x4b8 (4 bytes): Prop Load Function?.&lt;br /&gt;
0x4bc (4 bytes): Idle Before Function.&lt;br /&gt;
0x4c0 (4 bytes): Idle After Function.&lt;br /&gt;
0x4c4 (4 bytes): ? (empty function?).&lt;br /&gt;
0x4c8 (4 bytes): ? (empty function?).&lt;br /&gt;
0x4cc (4 bytes): ? (empty function?).&lt;br /&gt;
0x4d0 (4 bytes): ? (empty function?).&lt;br /&gt;
0x4d4 (4 bytes): ? (empty DAT?).&lt;br /&gt;
0x4d8 (4 bytes): ? (function).&lt;br /&gt;
0x4dc (4 bytes): ? (empty DAT?).&lt;br /&gt;
0x4e0 (4 bytes): ? (empty DAT?).&lt;br /&gt;
0x4e4 (4 bytes): ? (function).&lt;br /&gt;
0x4e8 (4 bytes): Sound Data Pointer.&lt;br /&gt;
0x4ec (4 bytes): Direction DAT? (need better name/research).&lt;br /&gt;
0x4f0 (4 bytes): Action Functions?.&lt;br /&gt;
0x1d80 (4 bytes): ? (DAT, affects animations?).&lt;br /&gt;
0x1d84 (4 bytes): ? (DAT).&lt;br /&gt;
0x1d88 (4 bytes): ? (DAT).&lt;br /&gt;
0x1d8c (4 bytes): ? (DAT).&lt;/div&gt;</summary>
		<author><name>CrystalPixel</name></author>
	</entry>
	<entry>
		<id>https://wiki.re.virtualworld.fr/index.php?title=MDT_(Gotcha_Force)&amp;diff=1213</id>
		<title>MDT (Gotcha Force)</title>
		<link rel="alternate" type="text/html" href="https://wiki.re.virtualworld.fr/index.php?title=MDT_(Gotcha_Force)&amp;diff=1213"/>
		<updated>2022-09-12T23:24:34Z</updated>

		<summary type="html">&lt;p&gt;CrystalPixel: /* Text engine NTSC/USA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Gotcha Force | &amp;amp;larr; Gotcha Force]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This article is about Gotcha Force MDT file format and ongoing researchs on it.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: rgb(241, 196, 15);&amp;quot;&amp;gt;This section is currently being written.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: rgb(241, 196, 15); text-align: center;&amp;quot;&amp;gt;More research is needed and some paragraphs may be wrong.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
== mdt files: ==&lt;br /&gt;
MDT files are same than [[PZZ (Gotcha Force)|pzz]] but packing only uncompressed files. &lt;br /&gt;
&lt;br /&gt;
MDT header (0x800 bytes):&lt;br /&gt;
* 4 bytes - uint32 file count (big endian)&lt;br /&gt;
* 4 bytes - uint32 array: file size divided by 0x800 and upper rounded for each file&lt;br /&gt;
&lt;br /&gt;
All .mdt contains 2 files:&lt;br /&gt;
* 000 dat file with texts used in the game&lt;br /&gt;
* 001 TPL including an alphanumeric alphabet used by the dat file&lt;br /&gt;
&lt;br /&gt;
== dat file: ==&lt;br /&gt;
&lt;br /&gt;
=== header: ===&lt;br /&gt;
* 4 bytes - paragraph_offsets_blocks_list offset&lt;br /&gt;
* 4 bytes - symbols_count # number of symbols contained in the tpl&lt;br /&gt;
* 2 bytes - universal symbols ID shared between all .mdt and positionnal from tpl file&lt;br /&gt;
=== paragraph_offsets_blocks_list: ===&lt;br /&gt;
* 4 bytes - uint32 absolute offsets - array of paragraph_offsets_block terminated by -1 (FF FF FF FF)&lt;br /&gt;
=== paragraph_offsets_block 0: ===&lt;br /&gt;
# first paragraph_offsets_block describing all paragraph offsets in the data block 0&lt;br /&gt;
* 4 bytes - int32 array of absolute offsets which point to pragraphs in the data block terminated by -1 (FF FF FF FF). The first offset is the data block offset.&lt;br /&gt;
=== data_block 0: ===&lt;br /&gt;
* 2 bytes - signed int16 list &amp;lt;- paragraph_offsets_block 0 describe where each paragraph begin.&lt;br /&gt;
paragraph_offsets_block 1: ...&lt;br /&gt;
data_block 1: ...&lt;br /&gt;
=== align: ===&lt;br /&gt;
The header length is aligned to 32 bytes and if there is no pad we add 32 bytes of pad. paragraphs_offsets_block are aligned to 16 bytes. Each paragraph is aligned to 32 bytes.&lt;br /&gt;
&lt;br /&gt;
== Text engine NTSC/USA ==&lt;br /&gt;
&lt;br /&gt;
data_block contains int16 indexes relative to the tpl symbol list. First symbol in the tpl has number 0 then horizontally symbol 1, 2 ... So data block(s) contains texts.&lt;br /&gt;
* FFyy: &amp;lt;- each negative value describe something not present in the tpl&lt;br /&gt;
** FFFE: Appends a whitespace character to the text.&lt;br /&gt;
** FFFD: Appends a small whitespace character to the text.&lt;br /&gt;
* 10yy: &lt;br /&gt;
** 1000: Appends a newline character to the text.&lt;br /&gt;
** 1001: Marks the end of the text. All text must end with this.&lt;br /&gt;
* 80yy:&lt;br /&gt;
** 8000: Appends the Player&#039;s name to the text.&lt;br /&gt;
** 8001: Appends an unidentified string to the text.&lt;br /&gt;
** 8002 (1 param): Applies a color preset from the param index to the text. An 0xFFFF param disables it.&lt;br /&gt;
** 8003 (1 param): Appends an unidentified string from the param index to the text.&lt;br /&gt;
&lt;br /&gt;
The text engine use a hash table corresponding to symbols and allow to color the textures or use vars like player name. This hashtable is also used in the dol data sections for instance to encode texts.&lt;br /&gt;
&lt;br /&gt;
Each paragraph begin with:&lt;br /&gt;
* 2 bytes - total_paragraph_len - starting after the paragraph header and uint16 count&lt;br /&gt;
* 2 bytes - total_lines_count&lt;br /&gt;
* 2 bytes - max_lines_len - including the last \x10\x01&lt;br /&gt;
&lt;br /&gt;
Here is the hashtable:&lt;br /&gt;
 81 43 ,&lt;br /&gt;
 81 44 .&lt;br /&gt;
 81 45 °&lt;br /&gt;
 81 46 :&lt;br /&gt;
 81 47 ;&lt;br /&gt;
 81 48 ?&lt;br /&gt;
 81 49 !&lt;br /&gt;
 81 51 _&lt;br /&gt;
 81 5e /&lt;br /&gt;
 81 65 `&lt;br /&gt;
 81 66 &#039;&lt;br /&gt;
 81 68 &amp;quot;&lt;br /&gt;
 81 69 (&lt;br /&gt;
 81 6a )&lt;br /&gt;
 81 7b +&lt;br /&gt;
 81 7c -&lt;br /&gt;
 81 7e ×&lt;br /&gt;
 81 80 ÷&lt;br /&gt;
 81 81 =&lt;br /&gt;
 81 83 &amp;lt;&lt;br /&gt;
 81 84 &amp;gt;&lt;br /&gt;
 81 93 %&lt;br /&gt;
 81 94 #&lt;br /&gt;
 81 95 &amp;amp;&lt;br /&gt;
 81 96 *&lt;br /&gt;
 81 97 @&lt;br /&gt;
 81 a5 `&lt;br /&gt;
 82 4f 0&lt;br /&gt;
 82 50 1&lt;br /&gt;
 82 51 2&lt;br /&gt;
 82 52 3&lt;br /&gt;
 82 53 4&lt;br /&gt;
 82 54 5&lt;br /&gt;
 82 55 6&lt;br /&gt;
 82 56 7&lt;br /&gt;
 82 57 8&lt;br /&gt;
 82 58 9&lt;br /&gt;
 82 60 A&lt;br /&gt;
 82 61 B&lt;br /&gt;
 82 62 C&lt;br /&gt;
 82 63 D&lt;br /&gt;
 82 64 E&lt;br /&gt;
 82 65 F&lt;br /&gt;
 82 66 G&lt;br /&gt;
 82 67 H&lt;br /&gt;
 82 68 I&lt;br /&gt;
 82 69 J&lt;br /&gt;
 82 6a K&lt;br /&gt;
 82 6b L&lt;br /&gt;
 82 6c M&lt;br /&gt;
 82 6d N&lt;br /&gt;
 82 6e O&lt;br /&gt;
 82 6f P&lt;br /&gt;
 82 70 Q&lt;br /&gt;
 82 71 R&lt;br /&gt;
 82 72 S&lt;br /&gt;
 82 73 T&lt;br /&gt;
 82 74 U&lt;br /&gt;
 82 75 V&lt;br /&gt;
 82 76 W&lt;br /&gt;
 82 77 X&lt;br /&gt;
 82 78 Y&lt;br /&gt;
 82 79 Z&lt;br /&gt;
 82 81 a&lt;br /&gt;
 82 82 b&lt;br /&gt;
 82 83 c&lt;br /&gt;
 82 84 d&lt;br /&gt;
 82 85 e&lt;br /&gt;
 82 86 f&lt;br /&gt;
 82 87 g&lt;br /&gt;
 82 88 h&lt;br /&gt;
 82 89 i&lt;br /&gt;
 82 8a j&lt;br /&gt;
 82 8b k&lt;br /&gt;
 82 8c l&lt;br /&gt;
 82 8d m&lt;br /&gt;
 82 8e n&lt;br /&gt;
 82 8f o&lt;br /&gt;
 82 90 p&lt;br /&gt;
 82 91 q&lt;br /&gt;
 82 92 r&lt;br /&gt;
 82 93 s&lt;br /&gt;
 82 94 t&lt;br /&gt;
 82 95 u&lt;br /&gt;
 82 96 v&lt;br /&gt;
 82 97 w&lt;br /&gt;
 82 98 x&lt;br /&gt;
 82 99 y&lt;br /&gt;
 82 9a z&lt;br /&gt;
 83 bf `&lt;br /&gt;
 89 ce `&lt;br /&gt;
 8c ba `&lt;br /&gt;
 8c d5 `&lt;br /&gt;
 8e e9 `&lt;br /&gt;
 90 9d `&lt;br /&gt;
 90 c2 `&lt;br /&gt;
 92 b4 `&lt;br /&gt;
 94 92 `&lt;br /&gt;
 95 90 `&lt;br /&gt;
 97 b4 `&lt;br /&gt;
&lt;br /&gt;
Virtual World RE has developed the python script [https://github.com/Virtual-World-RE/NeoGF/tree/main/pzztool pzztool.py] to manipulate MDT files and their internal files allowing to unpack / pack mdt files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:File format]]&lt;br /&gt;
[[Category:Gotcha Force]]&lt;/div&gt;</summary>
		<author><name>CrystalPixel</name></author>
	</entry>
	<entry>
		<id>https://wiki.re.virtualworld.fr/index.php?title=MDT_(Gotcha_Force)&amp;diff=1212</id>
		<title>MDT (Gotcha Force)</title>
		<link rel="alternate" type="text/html" href="https://wiki.re.virtualworld.fr/index.php?title=MDT_(Gotcha_Force)&amp;diff=1212"/>
		<updated>2022-09-12T23:11:13Z</updated>

		<summary type="html">&lt;p&gt;CrystalPixel: /* Text engine NTSC/USA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Gotcha Force | &amp;amp;larr; Gotcha Force]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This article is about Gotcha Force MDT file format and ongoing researchs on it.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: rgb(241, 196, 15);&amp;quot;&amp;gt;This section is currently being written.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: rgb(241, 196, 15); text-align: center;&amp;quot;&amp;gt;More research is needed and some paragraphs may be wrong.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
== mdt files: ==&lt;br /&gt;
MDT files are same than [[PZZ (Gotcha Force)|pzz]] but packing only uncompressed files. &lt;br /&gt;
&lt;br /&gt;
MDT header (0x800 bytes):&lt;br /&gt;
* 4 bytes - uint32 file count (big endian)&lt;br /&gt;
* 4 bytes - uint32 array: file size divided by 0x800 and upper rounded for each file&lt;br /&gt;
&lt;br /&gt;
All .mdt contains 2 files:&lt;br /&gt;
* 000 dat file with texts used in the game&lt;br /&gt;
* 001 TPL including an alphanumeric alphabet used by the dat file&lt;br /&gt;
&lt;br /&gt;
== dat file: ==&lt;br /&gt;
&lt;br /&gt;
=== header: ===&lt;br /&gt;
* 4 bytes - paragraph_offsets_blocks_list offset&lt;br /&gt;
* 4 bytes - symbols_count # number of symbols contained in the tpl&lt;br /&gt;
* 2 bytes - universal symbols ID shared between all .mdt and positionnal from tpl file&lt;br /&gt;
=== paragraph_offsets_blocks_list: ===&lt;br /&gt;
* 4 bytes - uint32 absolute offsets - array of paragraph_offsets_block terminated by -1 (FF FF FF FF)&lt;br /&gt;
=== paragraph_offsets_block 0: ===&lt;br /&gt;
# first paragraph_offsets_block describing all paragraph offsets in the data block 0&lt;br /&gt;
* 4 bytes - int32 array of absolute offsets which point to pragraphs in the data block terminated by -1 (FF FF FF FF). The first offset is the data block offset.&lt;br /&gt;
=== data_block 0: ===&lt;br /&gt;
* 2 bytes - signed int16 list &amp;lt;- paragraph_offsets_block 0 describe where each paragraph begin.&lt;br /&gt;
paragraph_offsets_block 1: ...&lt;br /&gt;
data_block 1: ...&lt;br /&gt;
=== align: ===&lt;br /&gt;
The header length is aligned to 32 bytes and if there is no pad we add 32 bytes of pad. paragraphs_offsets_block are aligned to 16 bytes. Each paragraph is aligned to 32 bytes.&lt;br /&gt;
&lt;br /&gt;
== Text engine NTSC/USA ==&lt;br /&gt;
&lt;br /&gt;
data_block contains int16 indexes relative to the tpl symbol list. First symbol in the tpl has number 0 then horizontally symbol 1, 2 ... So data block(s) contains texts.&lt;br /&gt;
* FFyy: &amp;lt;- each negative value describe something not present in the tpl&lt;br /&gt;
** FFFE: Appends a whitespace character to the text.&lt;br /&gt;
** FFFD: Appends a small whitespace character to the text.&lt;br /&gt;
* 10yy: &lt;br /&gt;
** 1000: Appends a newline character to the text.&lt;br /&gt;
** 1001: Marks the end of the text. Every string must end with this.&lt;br /&gt;
* 80yy:&lt;br /&gt;
** 8000: Appends the Player&#039;s name to the text.&lt;br /&gt;
** 8001: Appends an unidentified string to the text.&lt;br /&gt;
** 8002 (1 param): Applies a color preset from the param index to the text. An 0xFFFF param disables it.&lt;br /&gt;
** 8003 (1 param): Appends an unidentified string from the param index to the text.&lt;br /&gt;
&lt;br /&gt;
The text engine use a hash table corresponding to symbols and allow to color the textures or use vars like player name. This hashtable is also used in the dol data sections for instance to encode texts.&lt;br /&gt;
&lt;br /&gt;
Each paragraph begin with:&lt;br /&gt;
* 2 bytes - total_paragraph_len - starting after the paragraph header and uint16 count&lt;br /&gt;
* 2 bytes - total_lines_count&lt;br /&gt;
* 2 bytes - max_lines_len - including the last \x10\x01&lt;br /&gt;
&lt;br /&gt;
Here is the hashtable:&lt;br /&gt;
 81 43 ,&lt;br /&gt;
 81 44 .&lt;br /&gt;
 81 45 °&lt;br /&gt;
 81 46 :&lt;br /&gt;
 81 47 ;&lt;br /&gt;
 81 48 ?&lt;br /&gt;
 81 49 !&lt;br /&gt;
 81 51 _&lt;br /&gt;
 81 5e /&lt;br /&gt;
 81 65 `&lt;br /&gt;
 81 66 &#039;&lt;br /&gt;
 81 68 &amp;quot;&lt;br /&gt;
 81 69 (&lt;br /&gt;
 81 6a )&lt;br /&gt;
 81 7b +&lt;br /&gt;
 81 7c -&lt;br /&gt;
 81 7e ×&lt;br /&gt;
 81 80 ÷&lt;br /&gt;
 81 81 =&lt;br /&gt;
 81 83 &amp;lt;&lt;br /&gt;
 81 84 &amp;gt;&lt;br /&gt;
 81 93 %&lt;br /&gt;
 81 94 #&lt;br /&gt;
 81 95 &amp;amp;&lt;br /&gt;
 81 96 *&lt;br /&gt;
 81 97 @&lt;br /&gt;
 81 a5 `&lt;br /&gt;
 82 4f 0&lt;br /&gt;
 82 50 1&lt;br /&gt;
 82 51 2&lt;br /&gt;
 82 52 3&lt;br /&gt;
 82 53 4&lt;br /&gt;
 82 54 5&lt;br /&gt;
 82 55 6&lt;br /&gt;
 82 56 7&lt;br /&gt;
 82 57 8&lt;br /&gt;
 82 58 9&lt;br /&gt;
 82 60 A&lt;br /&gt;
 82 61 B&lt;br /&gt;
 82 62 C&lt;br /&gt;
 82 63 D&lt;br /&gt;
 82 64 E&lt;br /&gt;
 82 65 F&lt;br /&gt;
 82 66 G&lt;br /&gt;
 82 67 H&lt;br /&gt;
 82 68 I&lt;br /&gt;
 82 69 J&lt;br /&gt;
 82 6a K&lt;br /&gt;
 82 6b L&lt;br /&gt;
 82 6c M&lt;br /&gt;
 82 6d N&lt;br /&gt;
 82 6e O&lt;br /&gt;
 82 6f P&lt;br /&gt;
 82 70 Q&lt;br /&gt;
 82 71 R&lt;br /&gt;
 82 72 S&lt;br /&gt;
 82 73 T&lt;br /&gt;
 82 74 U&lt;br /&gt;
 82 75 V&lt;br /&gt;
 82 76 W&lt;br /&gt;
 82 77 X&lt;br /&gt;
 82 78 Y&lt;br /&gt;
 82 79 Z&lt;br /&gt;
 82 81 a&lt;br /&gt;
 82 82 b&lt;br /&gt;
 82 83 c&lt;br /&gt;
 82 84 d&lt;br /&gt;
 82 85 e&lt;br /&gt;
 82 86 f&lt;br /&gt;
 82 87 g&lt;br /&gt;
 82 88 h&lt;br /&gt;
 82 89 i&lt;br /&gt;
 82 8a j&lt;br /&gt;
 82 8b k&lt;br /&gt;
 82 8c l&lt;br /&gt;
 82 8d m&lt;br /&gt;
 82 8e n&lt;br /&gt;
 82 8f o&lt;br /&gt;
 82 90 p&lt;br /&gt;
 82 91 q&lt;br /&gt;
 82 92 r&lt;br /&gt;
 82 93 s&lt;br /&gt;
 82 94 t&lt;br /&gt;
 82 95 u&lt;br /&gt;
 82 96 v&lt;br /&gt;
 82 97 w&lt;br /&gt;
 82 98 x&lt;br /&gt;
 82 99 y&lt;br /&gt;
 82 9a z&lt;br /&gt;
 83 bf `&lt;br /&gt;
 89 ce `&lt;br /&gt;
 8c ba `&lt;br /&gt;
 8c d5 `&lt;br /&gt;
 8e e9 `&lt;br /&gt;
 90 9d `&lt;br /&gt;
 90 c2 `&lt;br /&gt;
 92 b4 `&lt;br /&gt;
 94 92 `&lt;br /&gt;
 95 90 `&lt;br /&gt;
 97 b4 `&lt;br /&gt;
&lt;br /&gt;
Virtual World RE has developed the python script [https://github.com/Virtual-World-RE/NeoGF/tree/main/pzztool pzztool.py] to manipulate MDT files and their internal files allowing to unpack / pack mdt files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:File format]]&lt;br /&gt;
[[Category:Gotcha Force]]&lt;/div&gt;</summary>
		<author><name>CrystalPixel</name></author>
	</entry>
	<entry>
		<id>https://wiki.re.virtualworld.fr/index.php?title=MDT_(Gotcha_Force)&amp;diff=1211</id>
		<title>MDT (Gotcha Force)</title>
		<link rel="alternate" type="text/html" href="https://wiki.re.virtualworld.fr/index.php?title=MDT_(Gotcha_Force)&amp;diff=1211"/>
		<updated>2022-09-12T22:57:18Z</updated>

		<summary type="html">&lt;p&gt;CrystalPixel: /* Text engine NTSC/USA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Gotcha Force | &amp;amp;larr; Gotcha Force]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This article is about Gotcha Force MDT file format and ongoing researchs on it.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: rgb(241, 196, 15);&amp;quot;&amp;gt;This section is currently being written.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: rgb(241, 196, 15); text-align: center;&amp;quot;&amp;gt;More research is needed and some paragraphs may be wrong.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
== mdt files: ==&lt;br /&gt;
MDT files are same than [[PZZ (Gotcha Force)|pzz]] but packing only uncompressed files. &lt;br /&gt;
&lt;br /&gt;
MDT header (0x800 bytes):&lt;br /&gt;
* 4 bytes - uint32 file count (big endian)&lt;br /&gt;
* 4 bytes - uint32 array: file size divided by 0x800 and upper rounded for each file&lt;br /&gt;
&lt;br /&gt;
All .mdt contains 2 files:&lt;br /&gt;
* 000 dat file with texts used in the game&lt;br /&gt;
* 001 TPL including an alphanumeric alphabet used by the dat file&lt;br /&gt;
&lt;br /&gt;
== dat file: ==&lt;br /&gt;
&lt;br /&gt;
=== header: ===&lt;br /&gt;
* 4 bytes - paragraph_offsets_blocks_list offset&lt;br /&gt;
* 4 bytes - symbols_count # number of symbols contained in the tpl&lt;br /&gt;
* 2 bytes - universal symbols ID shared between all .mdt and positionnal from tpl file&lt;br /&gt;
=== paragraph_offsets_blocks_list: ===&lt;br /&gt;
* 4 bytes - uint32 absolute offsets - array of paragraph_offsets_block terminated by -1 (FF FF FF FF)&lt;br /&gt;
=== paragraph_offsets_block 0: ===&lt;br /&gt;
# first paragraph_offsets_block describing all paragraph offsets in the data block 0&lt;br /&gt;
* 4 bytes - int32 array of absolute offsets which point to pragraphs in the data block terminated by -1 (FF FF FF FF). The first offset is the data block offset.&lt;br /&gt;
=== data_block 0: ===&lt;br /&gt;
* 2 bytes - signed int16 list &amp;lt;- paragraph_offsets_block 0 describe where each paragraph begin.&lt;br /&gt;
paragraph_offsets_block 1: ...&lt;br /&gt;
data_block 1: ...&lt;br /&gt;
=== align: ===&lt;br /&gt;
The header length is aligned to 32 bytes and if there is no pad we add 32 bytes of pad. paragraphs_offsets_block are aligned to 16 bytes. Each paragraph is aligned to 32 bytes.&lt;br /&gt;
&lt;br /&gt;
== Text engine NTSC/USA ==&lt;br /&gt;
&lt;br /&gt;
data_block contains int16 indexes relative to the tpl symbol list. First symbol in the tpl has number 0 then horizontally symbol 1, 2 ... So data block(s) contains texts.&lt;br /&gt;
* FFyy: &amp;lt;- each negative value describe something not present in the tpl&lt;br /&gt;
** FFFE: Appends a whitespace character to the text.&lt;br /&gt;
** FFFD: Appends a small whitespace character to the text.&lt;br /&gt;
* 10yy: &lt;br /&gt;
** 1000: Appends a newline character to the text.&lt;br /&gt;
** 1001: Marks the end of the text. Every string must end with this.&lt;br /&gt;
* 80yy:&lt;br /&gt;
** 8000: Appends the Player&#039;s name to the text.&lt;br /&gt;
** 8001: Appends an unidentified string to the text.&lt;br /&gt;
** 8002 (1 param): Applies a color preset from the param index to the following text. An 0xFFFF param disables it.&lt;br /&gt;
** 8003 (1 param): Appends an unidentified string from the index provided to the text.&lt;br /&gt;
&lt;br /&gt;
The text engine use a hash table corresponding to symbols and allow to color the textures or use vars like player name. This hashtable is also used in the dol data sections for instance to encode texts.&lt;br /&gt;
&lt;br /&gt;
Each paragraph begin with:&lt;br /&gt;
* 2 bytes - total_paragraph_len - starting after the paragraph header and uint16 count&lt;br /&gt;
* 2 bytes - total_lines_count&lt;br /&gt;
* 2 bytes - max_lines_len - including the last \x10\x01&lt;br /&gt;
&lt;br /&gt;
Here is the hashtable:&lt;br /&gt;
 81 43 ,&lt;br /&gt;
 81 44 .&lt;br /&gt;
 81 45 °&lt;br /&gt;
 81 46 :&lt;br /&gt;
 81 47 ;&lt;br /&gt;
 81 48 ?&lt;br /&gt;
 81 49 !&lt;br /&gt;
 81 51 _&lt;br /&gt;
 81 5e /&lt;br /&gt;
 81 65 `&lt;br /&gt;
 81 66 &#039;&lt;br /&gt;
 81 68 &amp;quot;&lt;br /&gt;
 81 69 (&lt;br /&gt;
 81 6a )&lt;br /&gt;
 81 7b +&lt;br /&gt;
 81 7c -&lt;br /&gt;
 81 7e ×&lt;br /&gt;
 81 80 ÷&lt;br /&gt;
 81 81 =&lt;br /&gt;
 81 83 &amp;lt;&lt;br /&gt;
 81 84 &amp;gt;&lt;br /&gt;
 81 93 %&lt;br /&gt;
 81 94 #&lt;br /&gt;
 81 95 &amp;amp;&lt;br /&gt;
 81 96 *&lt;br /&gt;
 81 97 @&lt;br /&gt;
 81 a5 `&lt;br /&gt;
 82 4f 0&lt;br /&gt;
 82 50 1&lt;br /&gt;
 82 51 2&lt;br /&gt;
 82 52 3&lt;br /&gt;
 82 53 4&lt;br /&gt;
 82 54 5&lt;br /&gt;
 82 55 6&lt;br /&gt;
 82 56 7&lt;br /&gt;
 82 57 8&lt;br /&gt;
 82 58 9&lt;br /&gt;
 82 60 A&lt;br /&gt;
 82 61 B&lt;br /&gt;
 82 62 C&lt;br /&gt;
 82 63 D&lt;br /&gt;
 82 64 E&lt;br /&gt;
 82 65 F&lt;br /&gt;
 82 66 G&lt;br /&gt;
 82 67 H&lt;br /&gt;
 82 68 I&lt;br /&gt;
 82 69 J&lt;br /&gt;
 82 6a K&lt;br /&gt;
 82 6b L&lt;br /&gt;
 82 6c M&lt;br /&gt;
 82 6d N&lt;br /&gt;
 82 6e O&lt;br /&gt;
 82 6f P&lt;br /&gt;
 82 70 Q&lt;br /&gt;
 82 71 R&lt;br /&gt;
 82 72 S&lt;br /&gt;
 82 73 T&lt;br /&gt;
 82 74 U&lt;br /&gt;
 82 75 V&lt;br /&gt;
 82 76 W&lt;br /&gt;
 82 77 X&lt;br /&gt;
 82 78 Y&lt;br /&gt;
 82 79 Z&lt;br /&gt;
 82 81 a&lt;br /&gt;
 82 82 b&lt;br /&gt;
 82 83 c&lt;br /&gt;
 82 84 d&lt;br /&gt;
 82 85 e&lt;br /&gt;
 82 86 f&lt;br /&gt;
 82 87 g&lt;br /&gt;
 82 88 h&lt;br /&gt;
 82 89 i&lt;br /&gt;
 82 8a j&lt;br /&gt;
 82 8b k&lt;br /&gt;
 82 8c l&lt;br /&gt;
 82 8d m&lt;br /&gt;
 82 8e n&lt;br /&gt;
 82 8f o&lt;br /&gt;
 82 90 p&lt;br /&gt;
 82 91 q&lt;br /&gt;
 82 92 r&lt;br /&gt;
 82 93 s&lt;br /&gt;
 82 94 t&lt;br /&gt;
 82 95 u&lt;br /&gt;
 82 96 v&lt;br /&gt;
 82 97 w&lt;br /&gt;
 82 98 x&lt;br /&gt;
 82 99 y&lt;br /&gt;
 82 9a z&lt;br /&gt;
 83 bf `&lt;br /&gt;
 89 ce `&lt;br /&gt;
 8c ba `&lt;br /&gt;
 8c d5 `&lt;br /&gt;
 8e e9 `&lt;br /&gt;
 90 9d `&lt;br /&gt;
 90 c2 `&lt;br /&gt;
 92 b4 `&lt;br /&gt;
 94 92 `&lt;br /&gt;
 95 90 `&lt;br /&gt;
 97 b4 `&lt;br /&gt;
&lt;br /&gt;
Virtual World RE has developed the python script [https://github.com/Virtual-World-RE/NeoGF/tree/main/pzztool pzztool.py] to manipulate MDT files and their internal files allowing to unpack / pack mdt files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:File format]]&lt;br /&gt;
[[Category:Gotcha Force]]&lt;/div&gt;</summary>
		<author><name>CrystalPixel</name></author>
	</entry>
	<entry>
		<id>https://wiki.re.virtualworld.fr/index.php?title=MDT_(Gotcha_Force)&amp;diff=1210</id>
		<title>MDT (Gotcha Force)</title>
		<link rel="alternate" type="text/html" href="https://wiki.re.virtualworld.fr/index.php?title=MDT_(Gotcha_Force)&amp;diff=1210"/>
		<updated>2022-09-12T22:54:54Z</updated>

		<summary type="html">&lt;p&gt;CrystalPixel: /* Text engine NTSC/USA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Gotcha Force | &amp;amp;larr; Gotcha Force]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This article is about Gotcha Force MDT file format and ongoing researchs on it.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: rgb(241, 196, 15);&amp;quot;&amp;gt;This section is currently being written.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: rgb(241, 196, 15); text-align: center;&amp;quot;&amp;gt;More research is needed and some paragraphs may be wrong.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
== mdt files: ==&lt;br /&gt;
MDT files are same than [[PZZ (Gotcha Force)|pzz]] but packing only uncompressed files. &lt;br /&gt;
&lt;br /&gt;
MDT header (0x800 bytes):&lt;br /&gt;
* 4 bytes - uint32 file count (big endian)&lt;br /&gt;
* 4 bytes - uint32 array: file size divided by 0x800 and upper rounded for each file&lt;br /&gt;
&lt;br /&gt;
All .mdt contains 2 files:&lt;br /&gt;
* 000 dat file with texts used in the game&lt;br /&gt;
* 001 TPL including an alphanumeric alphabet used by the dat file&lt;br /&gt;
&lt;br /&gt;
== dat file: ==&lt;br /&gt;
&lt;br /&gt;
=== header: ===&lt;br /&gt;
* 4 bytes - paragraph_offsets_blocks_list offset&lt;br /&gt;
* 4 bytes - symbols_count # number of symbols contained in the tpl&lt;br /&gt;
* 2 bytes - universal symbols ID shared between all .mdt and positionnal from tpl file&lt;br /&gt;
=== paragraph_offsets_blocks_list: ===&lt;br /&gt;
* 4 bytes - uint32 absolute offsets - array of paragraph_offsets_block terminated by -1 (FF FF FF FF)&lt;br /&gt;
=== paragraph_offsets_block 0: ===&lt;br /&gt;
# first paragraph_offsets_block describing all paragraph offsets in the data block 0&lt;br /&gt;
* 4 bytes - int32 array of absolute offsets which point to pragraphs in the data block terminated by -1 (FF FF FF FF). The first offset is the data block offset.&lt;br /&gt;
=== data_block 0: ===&lt;br /&gt;
* 2 bytes - signed int16 list &amp;lt;- paragraph_offsets_block 0 describe where each paragraph begin.&lt;br /&gt;
paragraph_offsets_block 1: ...&lt;br /&gt;
data_block 1: ...&lt;br /&gt;
=== align: ===&lt;br /&gt;
The header length is aligned to 32 bytes and if there is no pad we add 32 bytes of pad. paragraphs_offsets_block are aligned to 16 bytes. Each paragraph is aligned to 32 bytes.&lt;br /&gt;
&lt;br /&gt;
== Text engine NTSC/USA ==&lt;br /&gt;
&lt;br /&gt;
data_block contains int16 indexes relative to the tpl symbol list. First symbol in the tpl has number 0 then horizontally symbol 1, 2 ... So data block(s) contains texts.&lt;br /&gt;
* FFyy: &amp;lt;- each negative value describe something not present in the tpl&lt;br /&gt;
** FFFE: Appends a whitespace character to the text.&lt;br /&gt;
** FFFD: Appends a small whitespace character to the text.&lt;br /&gt;
* 10yy: &lt;br /&gt;
** 1000: Appends a new line character to the text.&lt;br /&gt;
** 1001: Marks the end of the text.&lt;br /&gt;
* 80yy:&lt;br /&gt;
** 8000: Appends the Player&#039;s name to the text.&lt;br /&gt;
** 8001: Appends an unidentified string to the text.&lt;br /&gt;
** 8002 (1 param): Applies a color preset from the param index to the following text. An 0xFFFF param disables it.&lt;br /&gt;
** 8003 (1 param): Appends an unidentified string from the index provided to the text.&lt;br /&gt;
&lt;br /&gt;
The text engine use a hash table corresponding to symbols and allow to color the textures or use vars like player name. This hashtable is also used in the dol data sections for instance to encode texts.&lt;br /&gt;
&lt;br /&gt;
Each paragraph begin with:&lt;br /&gt;
* 2 bytes - total_paragraph_len - starting after the paragraph header and uint16 count&lt;br /&gt;
* 2 bytes - total_lines_count&lt;br /&gt;
* 2 bytes - max_lines_len - including the last \x10\x01&lt;br /&gt;
&lt;br /&gt;
Here is the hashtable:&lt;br /&gt;
 81 43 ,&lt;br /&gt;
 81 44 .&lt;br /&gt;
 81 45 °&lt;br /&gt;
 81 46 :&lt;br /&gt;
 81 47 ;&lt;br /&gt;
 81 48 ?&lt;br /&gt;
 81 49 !&lt;br /&gt;
 81 51 _&lt;br /&gt;
 81 5e /&lt;br /&gt;
 81 65 `&lt;br /&gt;
 81 66 &#039;&lt;br /&gt;
 81 68 &amp;quot;&lt;br /&gt;
 81 69 (&lt;br /&gt;
 81 6a )&lt;br /&gt;
 81 7b +&lt;br /&gt;
 81 7c -&lt;br /&gt;
 81 7e ×&lt;br /&gt;
 81 80 ÷&lt;br /&gt;
 81 81 =&lt;br /&gt;
 81 83 &amp;lt;&lt;br /&gt;
 81 84 &amp;gt;&lt;br /&gt;
 81 93 %&lt;br /&gt;
 81 94 #&lt;br /&gt;
 81 95 &amp;amp;&lt;br /&gt;
 81 96 *&lt;br /&gt;
 81 97 @&lt;br /&gt;
 81 a5 `&lt;br /&gt;
 82 4f 0&lt;br /&gt;
 82 50 1&lt;br /&gt;
 82 51 2&lt;br /&gt;
 82 52 3&lt;br /&gt;
 82 53 4&lt;br /&gt;
 82 54 5&lt;br /&gt;
 82 55 6&lt;br /&gt;
 82 56 7&lt;br /&gt;
 82 57 8&lt;br /&gt;
 82 58 9&lt;br /&gt;
 82 60 A&lt;br /&gt;
 82 61 B&lt;br /&gt;
 82 62 C&lt;br /&gt;
 82 63 D&lt;br /&gt;
 82 64 E&lt;br /&gt;
 82 65 F&lt;br /&gt;
 82 66 G&lt;br /&gt;
 82 67 H&lt;br /&gt;
 82 68 I&lt;br /&gt;
 82 69 J&lt;br /&gt;
 82 6a K&lt;br /&gt;
 82 6b L&lt;br /&gt;
 82 6c M&lt;br /&gt;
 82 6d N&lt;br /&gt;
 82 6e O&lt;br /&gt;
 82 6f P&lt;br /&gt;
 82 70 Q&lt;br /&gt;
 82 71 R&lt;br /&gt;
 82 72 S&lt;br /&gt;
 82 73 T&lt;br /&gt;
 82 74 U&lt;br /&gt;
 82 75 V&lt;br /&gt;
 82 76 W&lt;br /&gt;
 82 77 X&lt;br /&gt;
 82 78 Y&lt;br /&gt;
 82 79 Z&lt;br /&gt;
 82 81 a&lt;br /&gt;
 82 82 b&lt;br /&gt;
 82 83 c&lt;br /&gt;
 82 84 d&lt;br /&gt;
 82 85 e&lt;br /&gt;
 82 86 f&lt;br /&gt;
 82 87 g&lt;br /&gt;
 82 88 h&lt;br /&gt;
 82 89 i&lt;br /&gt;
 82 8a j&lt;br /&gt;
 82 8b k&lt;br /&gt;
 82 8c l&lt;br /&gt;
 82 8d m&lt;br /&gt;
 82 8e n&lt;br /&gt;
 82 8f o&lt;br /&gt;
 82 90 p&lt;br /&gt;
 82 91 q&lt;br /&gt;
 82 92 r&lt;br /&gt;
 82 93 s&lt;br /&gt;
 82 94 t&lt;br /&gt;
 82 95 u&lt;br /&gt;
 82 96 v&lt;br /&gt;
 82 97 w&lt;br /&gt;
 82 98 x&lt;br /&gt;
 82 99 y&lt;br /&gt;
 82 9a z&lt;br /&gt;
 83 bf `&lt;br /&gt;
 89 ce `&lt;br /&gt;
 8c ba `&lt;br /&gt;
 8c d5 `&lt;br /&gt;
 8e e9 `&lt;br /&gt;
 90 9d `&lt;br /&gt;
 90 c2 `&lt;br /&gt;
 92 b4 `&lt;br /&gt;
 94 92 `&lt;br /&gt;
 95 90 `&lt;br /&gt;
 97 b4 `&lt;br /&gt;
&lt;br /&gt;
Virtual World RE has developed the python script [https://github.com/Virtual-World-RE/NeoGF/tree/main/pzztool pzztool.py] to manipulate MDT files and their internal files allowing to unpack / pack mdt files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:File format]]&lt;br /&gt;
[[Category:Gotcha Force]]&lt;/div&gt;</summary>
		<author><name>CrystalPixel</name></author>
	</entry>
	<entry>
		<id>https://wiki.re.virtualworld.fr/index.php?title=MDT_(Gotcha_Force)&amp;diff=1209</id>
		<title>MDT (Gotcha Force)</title>
		<link rel="alternate" type="text/html" href="https://wiki.re.virtualworld.fr/index.php?title=MDT_(Gotcha_Force)&amp;diff=1209"/>
		<updated>2022-09-12T22:51:06Z</updated>

		<summary type="html">&lt;p&gt;CrystalPixel: /* Text engine NTSC/USA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Gotcha Force | &amp;amp;larr; Gotcha Force]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This article is about Gotcha Force MDT file format and ongoing researchs on it.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: rgb(241, 196, 15);&amp;quot;&amp;gt;This section is currently being written.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: rgb(241, 196, 15); text-align: center;&amp;quot;&amp;gt;More research is needed and some paragraphs may be wrong.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
== mdt files: ==&lt;br /&gt;
MDT files are same than [[PZZ (Gotcha Force)|pzz]] but packing only uncompressed files. &lt;br /&gt;
&lt;br /&gt;
MDT header (0x800 bytes):&lt;br /&gt;
* 4 bytes - uint32 file count (big endian)&lt;br /&gt;
* 4 bytes - uint32 array: file size divided by 0x800 and upper rounded for each file&lt;br /&gt;
&lt;br /&gt;
All .mdt contains 2 files:&lt;br /&gt;
* 000 dat file with texts used in the game&lt;br /&gt;
* 001 TPL including an alphanumeric alphabet used by the dat file&lt;br /&gt;
&lt;br /&gt;
== dat file: ==&lt;br /&gt;
&lt;br /&gt;
=== header: ===&lt;br /&gt;
* 4 bytes - paragraph_offsets_blocks_list offset&lt;br /&gt;
* 4 bytes - symbols_count # number of symbols contained in the tpl&lt;br /&gt;
* 2 bytes - universal symbols ID shared between all .mdt and positionnal from tpl file&lt;br /&gt;
=== paragraph_offsets_blocks_list: ===&lt;br /&gt;
* 4 bytes - uint32 absolute offsets - array of paragraph_offsets_block terminated by -1 (FF FF FF FF)&lt;br /&gt;
=== paragraph_offsets_block 0: ===&lt;br /&gt;
# first paragraph_offsets_block describing all paragraph offsets in the data block 0&lt;br /&gt;
* 4 bytes - int32 array of absolute offsets which point to pragraphs in the data block terminated by -1 (FF FF FF FF). The first offset is the data block offset.&lt;br /&gt;
=== data_block 0: ===&lt;br /&gt;
* 2 bytes - signed int16 list &amp;lt;- paragraph_offsets_block 0 describe where each paragraph begin.&lt;br /&gt;
paragraph_offsets_block 1: ...&lt;br /&gt;
data_block 1: ...&lt;br /&gt;
=== align: ===&lt;br /&gt;
The header length is aligned to 32 bytes and if there is no pad we add 32 bytes of pad. paragraphs_offsets_block are aligned to 16 bytes. Each paragraph is aligned to 32 bytes.&lt;br /&gt;
&lt;br /&gt;
== Text engine NTSC/USA ==&lt;br /&gt;
&lt;br /&gt;
data_block contains int16 indexes relative to the tpl symbol list. First symbol in the tpl has number 0 then horizontally symbol 1, 2 ... So data block(s) contains texts.&lt;br /&gt;
* FFyy: &amp;lt;- each negative value describe something not present in the tpl&lt;br /&gt;
** FFFE: Appends a whitespace character to the text.&lt;br /&gt;
** FFFD: Appends a small whitespace character to the text.&lt;br /&gt;
* 10yy: &lt;br /&gt;
** 1000: Appends a new line character to the text.&lt;br /&gt;
** 1001: Marks the end of the text.&lt;br /&gt;
* 80yy:&lt;br /&gt;
** 8000: Appends the Player&#039;s name to the text.&lt;br /&gt;
** 8001: Appends an unidentified string to the text.&lt;br /&gt;
** 8002 (1 parameter): Applies a color respective of the index provided to the following text. 0xFFFF disables it.&lt;br /&gt;
** 8003 (1 parameter): Appends an unidentified string respective of the index provided to the text.&lt;br /&gt;
&lt;br /&gt;
The text engine use a hash table corresponding to symbols and allow to color the textures or use vars like player name. This hashtable is also used in the dol data sections for instance to encode texts.&lt;br /&gt;
&lt;br /&gt;
Each paragraph begin with:&lt;br /&gt;
* 2 bytes - total_paragraph_len - starting after the paragraph header and uint16 count&lt;br /&gt;
* 2 bytes - total_lines_count&lt;br /&gt;
* 2 bytes - max_lines_len - including the last \x10\x01&lt;br /&gt;
&lt;br /&gt;
Here is the hashtable:&lt;br /&gt;
 81 43 ,&lt;br /&gt;
 81 44 .&lt;br /&gt;
 81 45 °&lt;br /&gt;
 81 46 :&lt;br /&gt;
 81 47 ;&lt;br /&gt;
 81 48 ?&lt;br /&gt;
 81 49 !&lt;br /&gt;
 81 51 _&lt;br /&gt;
 81 5e /&lt;br /&gt;
 81 65 `&lt;br /&gt;
 81 66 &#039;&lt;br /&gt;
 81 68 &amp;quot;&lt;br /&gt;
 81 69 (&lt;br /&gt;
 81 6a )&lt;br /&gt;
 81 7b +&lt;br /&gt;
 81 7c -&lt;br /&gt;
 81 7e ×&lt;br /&gt;
 81 80 ÷&lt;br /&gt;
 81 81 =&lt;br /&gt;
 81 83 &amp;lt;&lt;br /&gt;
 81 84 &amp;gt;&lt;br /&gt;
 81 93 %&lt;br /&gt;
 81 94 #&lt;br /&gt;
 81 95 &amp;amp;&lt;br /&gt;
 81 96 *&lt;br /&gt;
 81 97 @&lt;br /&gt;
 81 a5 `&lt;br /&gt;
 82 4f 0&lt;br /&gt;
 82 50 1&lt;br /&gt;
 82 51 2&lt;br /&gt;
 82 52 3&lt;br /&gt;
 82 53 4&lt;br /&gt;
 82 54 5&lt;br /&gt;
 82 55 6&lt;br /&gt;
 82 56 7&lt;br /&gt;
 82 57 8&lt;br /&gt;
 82 58 9&lt;br /&gt;
 82 60 A&lt;br /&gt;
 82 61 B&lt;br /&gt;
 82 62 C&lt;br /&gt;
 82 63 D&lt;br /&gt;
 82 64 E&lt;br /&gt;
 82 65 F&lt;br /&gt;
 82 66 G&lt;br /&gt;
 82 67 H&lt;br /&gt;
 82 68 I&lt;br /&gt;
 82 69 J&lt;br /&gt;
 82 6a K&lt;br /&gt;
 82 6b L&lt;br /&gt;
 82 6c M&lt;br /&gt;
 82 6d N&lt;br /&gt;
 82 6e O&lt;br /&gt;
 82 6f P&lt;br /&gt;
 82 70 Q&lt;br /&gt;
 82 71 R&lt;br /&gt;
 82 72 S&lt;br /&gt;
 82 73 T&lt;br /&gt;
 82 74 U&lt;br /&gt;
 82 75 V&lt;br /&gt;
 82 76 W&lt;br /&gt;
 82 77 X&lt;br /&gt;
 82 78 Y&lt;br /&gt;
 82 79 Z&lt;br /&gt;
 82 81 a&lt;br /&gt;
 82 82 b&lt;br /&gt;
 82 83 c&lt;br /&gt;
 82 84 d&lt;br /&gt;
 82 85 e&lt;br /&gt;
 82 86 f&lt;br /&gt;
 82 87 g&lt;br /&gt;
 82 88 h&lt;br /&gt;
 82 89 i&lt;br /&gt;
 82 8a j&lt;br /&gt;
 82 8b k&lt;br /&gt;
 82 8c l&lt;br /&gt;
 82 8d m&lt;br /&gt;
 82 8e n&lt;br /&gt;
 82 8f o&lt;br /&gt;
 82 90 p&lt;br /&gt;
 82 91 q&lt;br /&gt;
 82 92 r&lt;br /&gt;
 82 93 s&lt;br /&gt;
 82 94 t&lt;br /&gt;
 82 95 u&lt;br /&gt;
 82 96 v&lt;br /&gt;
 82 97 w&lt;br /&gt;
 82 98 x&lt;br /&gt;
 82 99 y&lt;br /&gt;
 82 9a z&lt;br /&gt;
 83 bf `&lt;br /&gt;
 89 ce `&lt;br /&gt;
 8c ba `&lt;br /&gt;
 8c d5 `&lt;br /&gt;
 8e e9 `&lt;br /&gt;
 90 9d `&lt;br /&gt;
 90 c2 `&lt;br /&gt;
 92 b4 `&lt;br /&gt;
 94 92 `&lt;br /&gt;
 95 90 `&lt;br /&gt;
 97 b4 `&lt;br /&gt;
&lt;br /&gt;
Virtual World RE has developed the python script [https://github.com/Virtual-World-RE/NeoGF/tree/main/pzztool pzztool.py] to manipulate MDT files and their internal files allowing to unpack / pack mdt files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:File format]]&lt;br /&gt;
[[Category:Gotcha Force]]&lt;/div&gt;</summary>
		<author><name>CrystalPixel</name></author>
	</entry>
</feed>