Oni (folder)/GameDataFolder: Difference between revisions

m
link fix
m (typo)
m (link fix)
 
(23 intermediate revisions by 2 users not shown)
Line 1: Line 1:
The folder with all of Oni's actual game data, as well as the opening and closing cutscenes. The files are grouped into the order in which they are used in-game. The links under the Chapter column go to plot summaries/analyses of each Chapter, and are to be considered '''spoiler''' material. The "Level logic folder" column shows which folder has the scripts to power each level, since some of the names in the IGMD folder are less than self-explanatory.
'''GameDataFolder''' (commonly called "GDF") is a subfolder of the main Oni folder. It holds the following:
*Oni's game data, in binary format (see [[OBD]] 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


In Windows, Oni expects this folder (commonly called the "GDF" for short) to be in the directory with the executable, but Oni will also look for the GDF in a folder called "OniEngine" off the same directory. Also, if Oni is called from the command line, it will start looking for the GDF in the directories C:\[directory of command that called it]\ and C:\[same]\OniEngine\.
==Overview==
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.


The movie files are not needed for Oni to run; this fact is exploited by some players by moving intro.bik out of the folder (or renaming it) so it won't try to play every time Oni launches.
{| class="wikitable" style="margin-left:auto; margin-right:auto;"
 
|-
For information on the workings of the .dat/.raw files in this folder, see [[OBD|here]]. For information how the level logic scripts work, see [[BSL|here]].
|colspan="3" align="center"|'''File name'''
 
|rowspan="2" align="center"|'''Level logic folder'''
 
|rowspan="2" align="center"|'''[[Chapters|Chapter]]'''
{|align="center"
|rowspan="2" align="center"|'''Location (as in Load Game dialog)'''
|
|-
{|{{table}}
|align="center"|'''Windows'''
|-BGCOLOR="#E9E9E9"
|align="center"|'''Mac'''
![[Chapters|Chapter]]
|align="center"|'''PS2'''
!Location
|-
!Files (PC)
|colspan="2"|<center>'''[[IGMD|IGMD/]]'''</center>
!Files (Mac)
|valign=top|'''1'''
!Level logic folder
| <center>--</center>
|colspan=2 align=center|Contains all level logic
|-
|-
|(opening animated cutscene)
|colspan="2"|<center>'''[[:Category:Intro sequence|intro.bik]]'''</center>
|
|valign=top|'''2'''
|colspan="2"|<center>[[:Category:Intro sequence|intro.bik]]</center>
| <center>--</center>
|colspan=2 align=center|Movie plays when Oni is launched (see note below)
|-
|-
|(global; loads for all Chapters)
|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
|'''3<br>20/1<br>21/1'''
|level0_Final.dat<br>level0_Final.raw<br>level0_Final.sep
|[[IGMD/global]]
|[[IGMD|IGMD]]\[[IGMD/global|global]]*
|colspan=2 align=center|Used in all Chapters (see notes below on "level0_Final" and "IGMD/global")
|-
|-
|valign=top|'''level1_Final.dat<br>level1_Final.raw'''
|'''level1_Final.dat<br>level1_Final.raw<br>level1_Final.sep'''
|'''11<br>20/9<br>21/9'''
|[[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
|level1_Final.dat<br>level1_Final.raw
|level1_Final.dat<br>level1_Final.raw<br>level1_Final.sep
|[[IGMD|IGMD]]\[[IGMD/EnvWarehouse|EnvWarehouse]]
|-
|-
|valign=top|'''level2_Final.dat<br>level2_Final.raw'''
|'''level2_Final.dat<br>level2_Final.raw<br>level2_Final.sep'''
|'''12<br>20/10<br>21/10'''
|[[IGMD/manplant]]
|{{C|2|2: ENGINES OF EVIL}}
|{{C|2|2: ENGINES OF EVIL}}
|Manufacturing Plant
|Manufacturing Plant
|level2_Final.dat<br>level2_Final.raw
|level2_Final.dat<br>level2_Final.raw<br>level2_Final.sep
|[[IGMD|IGMD]]\[[IGMD/manplant|manplant]]
|-
|-
|valign=top|'''level3_Final.dat<br>level3_Final.raw'''
|'''level3_Final.dat<br>level3_Final.raw<br>level3_Final.sep'''
|'''13<br>20/11<br>21/11'''
|[[IGMD/lab]]
|{{C|3|3: PUZZLE PIECES}}
|{{C|3|3: PUZZLE PIECES}}
|Bio-Research Lab
|Bio-Research Lab
|level3_Final.dat<br>level3_Final.raw
|level3_Final.dat<br>level3_Final.raw<br>level3_Final.sep
|[[IGMD|IGMD]]\[[IGMD/lab|lab]]
|-
|-
|valign=top|'''level4_Final.dat<br>level4_Final.raw'''
|'''level4_Final.dat<br>level4_Final.raw<br>level4_Final.sep'''
|'''14<br>20/12<br>21/12'''
|[[IGMD/Airport]]
|{{C|4|4: TIGER BY THE TAIL}}
|{{C|4|4: TIGER BY THE TAIL}}
|Airport Assault
|Airport Assault
|level4_Final.dat<br>level4_Final.raw
|level4_Final.dat<br>level4_Final.raw<br>level4_Final.sep
|[[IGMD|IGMD]]\[[IGMD/Airport|Airport]]
|-
|-
|valign=top|'''level6_Final.dat<br>level6_Final.raw'''
|'''level6_Final.dat<br>level6_Final.raw<br>level6_Final.sep'''
|'''15<br>20/13<br>21/13'''
|[[IGMD/Airport_III]]
|{{C|5|5: HOT PURSUIT}}
|{{C|5|5: HOT PURSUIT}}
|Airport Cargo Hangars
|Airport Cargo Hangars
|level6_Final.dat<br>level6_Final.raw
|level6_Final.dat<br>level6_Final.raw<br>level6_Final.sep
|[[IGMD|IGMD]]\[[IGMD/Airport_III|Airport_III]]
|-
|-
|valign=top|'''level8_Final.dat<br>level8_Final.raw'''
|'''level8_Final.dat<br>level8_Final.raw<br>level8_Final.sep'''
|'''16<br>20/14<br>21/14'''
|[[IGMD/tctf]]
|{{C|6|6: COUNTERATTACK}}
|{{C|6|6: COUNTERATTACK}}
|TCTF Regional HQ
|TCTF Regional HQ
|level8_Final.dat<br>level8_Final.raw
|level8_Final.dat<br>level8_Final.raw<br>level8_Final.sep
|[[IGMD|IGMD]]\[[IGMD/tctf|tctf]]
|-
|-
|valign=top|'''level9_Final.dat<br>level9_Final.raw'''
|'''level9_Final.dat<br>level9_Final.raw<br>level9_Final.sep'''
|'''17<br>20/15<br>21/15'''
|[[IGMD/power]]
|{{C|7|7: A FRIEND IN NEED}}
|{{C|7|7: A FRIEND IN NEED}}
|Atmospheric Conversion<br>Center (exterior)
|Atmospheric Conversion Center (exterior)
|level9_Final.dat<br>level9_Final.raw
|level9_Final.dat<br>level9_Final.raw<br>level9_Final.sep
|[[IGMD|IGMD]]\[[IGMD/power|power]]
|-
|-
|valign=top|'''level10_Final.dat<br>level10_Final.raw'''
|'''level10_Final.dat<br>level10_Final.raw<br>level10_Final.sep'''
|'''4<br>20/2<br>21/2'''
|[[IGMD/power_II]]
|{{C|8|8: AN INNOCENT LIFE}}
|{{C|8|8: AN INNOCENT LIFE}}
|Atmospheric Conversion<br>Center (interior)
|Atmospheric Conversion Center (interior)
|level10_Final.dat<br>level10_Final.raw
|level10_Final.dat<br>level10_Final.raw<br>level10_Final.sep
|[[IGMD|IGMD]]\[[IGMD/power_II|power_II]]
|-
|-
|valign=top|'''level11_Final.dat<br>level11_Final.raw'''
|'''level11_Final.dat<br>level11_Final.raw<br>level11_Final.sep'''
|'''5<br>20/3<br>21/3'''
|[[IGMD/state]]
|{{C|9|9: TRUTH AND CONSEQUENCES}}
|{{C|9|9: TRUTH AND CONSEQUENCES}}
|Regional State Building
|Regional State Building
|level11_Final.dat<br>level11_Final.raw
|level11_Final.dat<br>level11_Final.raw<br>level11_Final.sep
|[[IGMD|IGMD]]\[[IGMD/state|state]]
|-
|-
|valign=top|'''level12_Final.dat<br>level12_Final.raw'''
|'''level12_Final.dat<br>level12_Final.raw<br>level12_Final.sep'''
|'''6<br>20/4<br>21/4'''
|[[IGMD/roof]]
|{{C|10|10: CAT AND MOUSE}}
|{{C|10|10: CAT AND MOUSE}}
|Rooftops
|Rooftops
|level12_Final.dat<br>level12_Final.raw
|level12_Final.dat<br>level12_Final.raw<br>level12_Final.sep
|[[IGMD|IGMD]]\[[IGMD/roof|roof]]
|-
|-
|valign=top|'''level13_Final.dat<br>level13_Final.raw'''
|'''level13_Final.dat<br>level13_Final.raw<br>level13_Final.sep'''
|'''7<br>20/5<br>21/5'''
|[[IGMD/dream_lab]]
|{{C|11|11: DREAM DIVER}}
|{{C|11|11: DREAM DIVER}}
|Doctor Hasegawa's Lab
|Doctor Hasegawa's Lab
|level13_Final.dat<br>level13_Final.raw
|level13_Final.dat<br>level13_Final.raw<br>level13_Final.sep
|[[IGMD|IGMD]]\[[IGMD/dream_lab|dream_lab]]
|-
|-
|valign=top|'''level14_Final.dat<br>level14_Final.raw'''
|'''level14_Final.dat<br>level14_Final.raw<br>level14_Final.sep'''
|'''8<br>20/6<br>21/6'''
|[[IGMD/neuro]]
|{{C|12|12: SINS OF THE FATHER}}
|{{C|12|12: SINS OF THE FATHER}}
|TCTF Science Prison
|TCTF Science Prison
|level14_Final.dat<br>level14_Final.raw
|level14_Final.dat<br>level14_Final.raw<br>level14_Final.sep
|[[IGMD|IGMD]]\[[IGMD/neuro|neuro]]
|-
|-
|valign=top|'''level18_Final.dat<br>level18_Final.raw'''
|'''level18_Final.dat<br>level18_Final.raw<br>level18_Final.sep'''
|'''9<br>20/7<br>21/7'''
|[[IGMD/tctf_ii]]
|{{C|13|13: PHOENIX RISING}}
|{{C|13|13: PHOENIX RISING}}
|TCTF Regional HQ (redux)
|TCTF Regional HQ (redux)
|level18_Final.dat<br>level18_Final.raw
|level18_Final.dat<br>level18_Final.raw<br>level18_Final.sep
|[[IGMD|IGMD]]\[[IGMD/tctf_ii|tctf_ii]]
|-
|-
|valign=top|'''level19_Final.dat<br>level19_Final.raw'''
|'''level19_Final.dat<br>level19_Final.raw<br>level19_Final.sep'''
|'''10<br>20/8<br>21/8'''
|[[IGMD/compound]]
|{{C|14|14: DAWN OF THE CHRYSALIS}}
|{{C|14|14: DAWN OF THE CHRYSALIS}}
|Syndicate Mountain Compound
|Syndicate Mountain Compound
|level19_Final.dat<br>level19_Final.raw
|level19_Final.dat<br>level19_Final.raw<br>level19_Final.sep
|[[IGMD|IGMD]]\[[IGMD/compound|compound]]
|-
|-
|(closing animated cutscene)
|colspan="2"|<center>'''[[:Category:Outro sequence|outro.bik]]'''</center>
|
|'''18'''
|colspan="2"|<center>[[:Category:Outro sequence|outro.bik]]</center>
| <center>--</center>
|}
|colspan=2 align=center|Movie plays when Oni is beaten (see note below)
|}
|}


==Notes==
===level0_Final===
The level 0 data is only loaded once, when Oni starts.
===IGMD/global===
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.
===intro.bik, outro.bik===
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===
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/.


<nowiki>*</nowiki>IGMD\global\ is not present by default, but if it is created, any scripts placed in it will load for all levels; this feature is only supported in Oni for Windows.
[[Category:Game directory map]]