Oni (folder)/GameDataFolder: Difference between revisions

m
link fix
m (swapping out TOCfloat for a test template to work on a page preview problem)
m (link fix)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{TOCtest|side=right}}
'''GameDataFolder''' (commonly called "GDF") is a subfolder of the main Oni folder. It holds the following:
'''GameDataFolder''' (commonly called "GDF") is a subfolder of the main Oni folder. It holds the following:
*Oni's game data (see [[OBD]] for more info)
*Oni's game data, in binary format (see [[OBD]] for more info)
*the level logic (as scripts in the IGMD subfolder; see [[BSL]] for more info)
*the level logic, in plain-text (in the IGMD subfolder; see [[BSL]] for more info)
*the intro and outro animated sequences, in the Bink video format
*the intro and outro animated sequences, in the Bink video format


==Overview==
==Overview==
You should have all the files in bold in your GameDataFolder, but the movie files, marked with the blue dot, are optional. Beside each set of level files, we list the subfolders of IGMD which hold the corresponding level logic. '''SPOILER WARNING''': The "Chapter" column links to summaries and analyses of Oni's storyline.
You should have all the files in bold in your GameDataFolder, but the movie files are optional. The "PS2" column shows the numbers assigned to each file name on disc; the .raw and .sep file for each level are in subdirectories titled 20/ and 21/. Beside each set of level files, we list the subfolders of IGMD which hold the corresponding level logic. '''SPOILER WARNING''': The "Chapter" column links to summaries and analyses of Oni's storyline.


{| border="1" cellpadding="5" cellspacing="0" style="margin-left:auto; margin-right:auto;"
{| class="wikitable" style="margin-left:auto; margin-right:auto;"
!Legend
|-
|-
|<center>[[Image:Aqua Dot-Red.png]] = needed to run Oni; [[Image:Aqua Dot-Blue.png]] = unneeded files</center>
|colspan="3" align="center"|'''File name'''
|}
|rowspan="2" align="center"|'''Level logic folder'''
 
|rowspan="2" align="center"|'''[[Chapters|Chapter]]'''
{| class="wikitable" style="margin-left:auto; margin-right:auto;" align=center
|rowspan="2" align="center"|'''Location (as in Load Game dialog)'''
|+
|-
!
|align="center"|'''Windows'''
!Windows
|align="center"|'''Mac'''
!Mac
|align="center"|'''PS2'''
!Level logic folder
![[Chapters|Chapter]]
!Location (as in Load Game dialog)
|-
|-
|[[Image:Aqua Dot-Red.png]]
|colspan="2"|<center>'''[[IGMD|IGMD/]]'''</center>
|colspan="2"|<center>'''[[IGMD|IGMD/]]'''</center>
|valign=top|'''1'''
| <center>--</center>
| <center>--</center>
|colspan=2 align=center|Contains all level logic
|colspan=2 align=center|Contains all level logic
|-
|-
|[[Image:Aqua Dot-Blue.png]]
|colspan="2"|<center>'''[[:Category:Intro sequence|intro.bik]]'''</center>
|colspan="2"|<center>'''[[:Category:Intro sequence|intro.bik]]'''</center>
|valign=top|'''2'''
| <center>--</center>
| <center>--</center>
|colspan=2 align=center|Movie plays when Oni is launched (see note below)
|colspan=2 align=center|Movie plays when Oni is launched (see note below)
|-
|-
|[[Image:Aqua Dot-Red.png]]
|valign=top|'''level0_Final.dat<br>level0_Final.raw'''
|valign=top|'''level0_Final.dat<br>level0_Final.raw'''
|'''level0_Final.dat<br>level0_Final.raw<br>level0_Final.sep'''
|'''level0_Final.dat<br>level0_Final.raw<br>level0_Final.sep'''
|'''3<br>20/1<br>21/1'''
|[[IGMD/global]]
|[[IGMD/global]]
|colspan=2 align=center|Used in all Chapters (see notes below on "level0_Final" and "IGMD/global")
|colspan=2 align=center|Used in all Chapters (see notes below on "level0_Final" and "IGMD/global")
|-
|-
|[[Image:Aqua Dot-Red.png]]
|valign=top|'''level1_Final.dat<br>level1_Final.raw'''
|valign=top|'''level1_Final.dat<br>level1_Final.raw'''
|'''level1_Final.dat<br>level1_Final.raw<br>level1_Final.sep'''
|'''level1_Final.dat<br>level1_Final.raw<br>level1_Final.sep'''
|'''11<br>20/9<br>21/9'''
|[[IGMD/EnvWarehouse]]
|[[IGMD/EnvWarehouse]]
|{{C|0|0: COMBAT TRAINING}}<br>{{C|1|1: TRIAL RUN}}
|{{C|0|0: COMBAT TRAINING}}<br>{{C|1|1: TRIAL RUN}}
|TCTF Training<br>Syndicate Warehouse
|TCTF Training<br>Syndicate Warehouse
|-
|-
|[[Image:Aqua Dot-Red.png]]
|valign=top|'''level2_Final.dat<br>level2_Final.raw'''
|valign=top|'''level2_Final.dat<br>level2_Final.raw'''
|'''level2_Final.dat<br>level2_Final.raw<br>level2_Final.sep'''
|'''level2_Final.dat<br>level2_Final.raw<br>level2_Final.sep'''
|'''12<br>20/10<br>21/10'''
|[[IGMD/manplant]]
|[[IGMD/manplant]]
|{{C|2|2: ENGINES OF EVIL}}
|{{C|2|2: ENGINES OF EVIL}}
|Manufacturing Plant
|Manufacturing Plant
|-
|-
|[[Image:Aqua Dot-Red.png]]
|valign=top|'''level3_Final.dat<br>level3_Final.raw'''
|valign=top|'''level3_Final.dat<br>level3_Final.raw'''
|'''level3_Final.dat<br>level3_Final.raw<br>level3_Final.sep'''
|'''level3_Final.dat<br>level3_Final.raw<br>level3_Final.sep'''
|'''13<br>20/11<br>21/11'''
|[[IGMD/lab]]
|[[IGMD/lab]]
|{{C|3|3: PUZZLE PIECES}}
|{{C|3|3: PUZZLE PIECES}}
|Bio-Research Lab
|Bio-Research Lab
|-
|-
|[[Image:Aqua Dot-Red.png]]
|valign=top|'''level4_Final.dat<br>level4_Final.raw'''
|valign=top|'''level4_Final.dat<br>level4_Final.raw'''
|'''level4_Final.dat<br>level4_Final.raw<br>level4_Final.sep'''
|'''level4_Final.dat<br>level4_Final.raw<br>level4_Final.sep'''
|'''14<br>20/12<br>21/12'''
|[[IGMD/Airport]]
|[[IGMD/Airport]]
|{{C|4|4: TIGER BY THE TAIL}}
|{{C|4|4: TIGER BY THE TAIL}}
|Airport Assault
|Airport Assault
|-
|-
|[[Image:Aqua Dot-Red.png]]
|valign=top|'''level6_Final.dat<br>level6_Final.raw'''
|valign=top|'''level6_Final.dat<br>level6_Final.raw'''
|'''level6_Final.dat<br>level6_Final.raw<br>level6_Final.sep'''
|'''level6_Final.dat<br>level6_Final.raw<br>level6_Final.sep'''
|'''15<br>20/13<br>21/13'''
|[[IGMD/Airport_III]]
|[[IGMD/Airport_III]]
|{{C|5|5: HOT PURSUIT}}
|{{C|5|5: HOT PURSUIT}}
|Airport Cargo Hangars
|Airport Cargo Hangars
|-
|-
|[[Image:Aqua Dot-Red.png]]
|valign=top|'''level8_Final.dat<br>level8_Final.raw'''
|valign=top|'''level8_Final.dat<br>level8_Final.raw'''
|'''level8_Final.dat<br>level8_Final.raw<br>level8_Final.sep'''
|'''level8_Final.dat<br>level8_Final.raw<br>level8_Final.sep'''
|'''16<br>20/14<br>21/14'''
|[[IGMD/tctf]]
|[[IGMD/tctf]]
|{{C|6|6: COUNTERATTACK}}
|{{C|6|6: COUNTERATTACK}}
|TCTF Regional HQ
|TCTF Regional HQ
|-
|-
|[[Image:Aqua Dot-Red.png]]
|valign=top|'''level9_Final.dat<br>level9_Final.raw'''
|valign=top|'''level9_Final.dat<br>level9_Final.raw'''
|'''level9_Final.dat<br>level9_Final.raw<br>level9_Final.sep'''
|'''level9_Final.dat<br>level9_Final.raw<br>level9_Final.sep'''
|'''17<br>20/15<br>21/15'''
|[[IGMD/power]]
|[[IGMD/power]]
|{{C|7|7: A FRIEND IN NEED}}
|{{C|7|7: A FRIEND IN NEED}}
|Atmospheric Conversion Center (exterior)
|Atmospheric Conversion Center (exterior)
|-
|-
|[[Image:Aqua Dot-Red.png]]
|valign=top|'''level10_Final.dat<br>level10_Final.raw'''
|valign=top|'''level10_Final.dat<br>level10_Final.raw'''
|'''level10_Final.dat<br>level10_Final.raw<br>level10_Final.sep'''
|'''level10_Final.dat<br>level10_Final.raw<br>level10_Final.sep'''
|'''4<br>20/2<br>21/2'''
|[[IGMD/power_II]]
|[[IGMD/power_II]]
|{{C|8|8: AN INNOCENT LIFE}}
|{{C|8|8: AN INNOCENT LIFE}}
|Atmospheric Conversion Center (interior)
|Atmospheric Conversion Center (interior)
|-
|-
|[[Image:Aqua Dot-Red.png]]
|valign=top|'''level11_Final.dat<br>level11_Final.raw'''
|valign=top|'''level11_Final.dat<br>level11_Final.raw'''
|'''level11_Final.dat<br>level11_Final.raw<br>level11_Final.sep'''
|'''level11_Final.dat<br>level11_Final.raw<br>level11_Final.sep'''
|'''5<br>20/3<br>21/3'''
|[[IGMD/state]]
|[[IGMD/state]]
|{{C|9|9: TRUTH AND CONSEQUENCES}}
|{{C|9|9: TRUTH AND CONSEQUENCES}}
|Regional State Building
|Regional State Building
|-
|-
|[[Image:Aqua Dot-Red.png]]
|valign=top|'''level12_Final.dat<br>level12_Final.raw'''
|valign=top|'''level12_Final.dat<br>level12_Final.raw'''
|'''level12_Final.dat<br>level12_Final.raw<br>level12_Final.sep'''
|'''level12_Final.dat<br>level12_Final.raw<br>level12_Final.sep'''
|'''6<br>20/4<br>21/4'''
|[[IGMD/roof]]
|[[IGMD/roof]]
|{{C|10|10: CAT AND MOUSE}}
|{{C|10|10: CAT AND MOUSE}}
|Rooftops
|Rooftops
|-
|-
|[[Image:Aqua Dot-Red.png]]
|valign=top|'''level13_Final.dat<br>level13_Final.raw'''
|valign=top|'''level13_Final.dat<br>level13_Final.raw'''
|'''level13_Final.dat<br>level13_Final.raw<br>level13_Final.sep'''
|'''level13_Final.dat<br>level13_Final.raw<br>level13_Final.sep'''
|'''7<br>20/5<br>21/5'''
|[[IGMD/dream_lab]]
|[[IGMD/dream_lab]]
|{{C|11|11: DREAM DIVER}}
|{{C|11|11: DREAM DIVER}}
|Doctor Hasegawa's Lab
|Doctor Hasegawa's Lab
|-
|-
|[[Image:Aqua Dot-Red.png]]
|valign=top|'''level14_Final.dat<br>level14_Final.raw'''
|valign=top|'''level14_Final.dat<br>level14_Final.raw'''
|'''level14_Final.dat<br>level14_Final.raw<br>level14_Final.sep'''
|'''level14_Final.dat<br>level14_Final.raw<br>level14_Final.sep'''
|'''8<br>20/6<br>21/6'''
|[[IGMD/neuro]]
|[[IGMD/neuro]]
|{{C|12|12: SINS OF THE FATHER}}
|{{C|12|12: SINS OF THE FATHER}}
|TCTF Science Prison
|TCTF Science Prison
|-
|-
|[[Image:Aqua Dot-Red.png]]
|valign=top|'''level18_Final.dat<br>level18_Final.raw'''
|valign=top|'''level18_Final.dat<br>level18_Final.raw'''
|'''level18_Final.dat<br>level18_Final.raw<br>level18_Final.sep'''
|'''level18_Final.dat<br>level18_Final.raw<br>level18_Final.sep'''
|'''9<br>20/7<br>21/7'''
|[[IGMD/tctf_ii]]
|[[IGMD/tctf_ii]]
|{{C|13|13: PHOENIX RISING}}
|{{C|13|13: PHOENIX RISING}}
|TCTF Regional HQ (redux)
|TCTF Regional HQ (redux)
|-
|-
|[[Image:Aqua Dot-Red.png]]
|valign=top|'''level19_Final.dat<br>level19_Final.raw'''
|valign=top|'''level19_Final.dat<br>level19_Final.raw'''
|'''level19_Final.dat<br>level19_Final.raw<br>level19_Final.sep'''
|'''level19_Final.dat<br>level19_Final.raw<br>level19_Final.sep'''
|'''10<br>20/8<br>21/8'''
|[[IGMD/compound]]
|[[IGMD/compound]]
|{{C|14|14: DAWN OF THE CHRYSALIS}}
|{{C|14|14: DAWN OF THE CHRYSALIS}}
|Syndicate Mountain Compound
|Syndicate Mountain Compound
|-
|-
|[[Image:Aqua Dot-Blue.png]]
|colspan="2"|<center>'''[[:Category:Outro sequence|outro.bik]]'''</center>
|colspan="2"|<center>'''[[:Category:Outro sequence|outro.bik]]'''</center>
|'''18'''
| <center>--</center>
| <center>--</center>
|colspan=2 align=center|Movie plays when Oni is beaten (see note below)
|colspan=2 align=center|Movie plays when Oni is beaten (see note below)
Line 150: Line 145:
IGMD/global/ is not present by default, but if it is created, the functions in any scripts placed inside it will be accessible from all levels; however, the Windows demo engine ignores the global/ folder.
IGMD/global/ is not present by default, but if it is created, the functions in any scripts placed inside it will be accessible from all levels; however, the Windows demo engine ignores the global/ folder.


===Movie files===
===intro.bik, outro.bik===
RAD Game Tools, the makers of the Bink video format, offer [http://www.radgametools.com/bnkdown.htm standalone apps] for all platforms if you want to watch the .bik files on their own. The movie files are not needed for Oni to run. You can thus rename or move intro.bik out of GameDataFolder so Oni starts faster.
The movie files are not needed for Oni to run. You can thus rename or move intro.bik out of GameDataFolder so Oni starts faster. Note that if you remove outro.bik, Oni will quit immediately after beating the game because it would normally play the outro and then quit.
 
Epic Games Tools, the makers of the Bink video format, offer [https://www.radgametools.com/bnkdown.htm standalone apps] for all platforms if you want to watch the .bik files on their own. However ffmpeg also understands the Bink format, meaning that you can use [https://www.videolan.org/vlc/ VLC] or another ffmpeg-based client to watch the movies.


===How Oni finds its GameDataFolder===
===How Oni finds its GameDataFolder===
In Windows, Oni's engine first looks up GDF in the [[wikipedia:working directory|working directory]] (a.k.a. "."). If ".\GameDataFolder" is missing, Oni tries parent folders all the way up to the root (e.g., it looks for "C:\Program Files\Oni\GameDataFolder", then "C:\Program Files\GameDataFolder", then "C:\GameDataFolder"). As a last resort, it looks for ".\OniEngine\GameDataFolder" the same way.
In Windows, Oni's engine first looks in the [[wp:Working directory|working directory]] (aka "."). If ".\GameDataFolder" is missing, Oni tries parent folders all the way up to the root (e.g., it looks for "C:\Program Files\Oni\GameDataFolder", then "C:\Program Files\GameDataFolder", then "C:\GameDataFolder"). As a last resort, it looks for ".\OniEngine\GameDataFolder" the same way.


The Mac Oni app follows the same search pattern for GameDataFolder/, but does not look for OniEngine/GameDataFolder/.
The Mac Oni app follows the same search pattern for GameDataFolder/, but does not look for OniEngine/GameDataFolder/.


[[Category:Game directory map]]
[[Category:Game directory map]]