Oni (folder)/GameDataFolder: Difference between revisions

moved one note to IGMD; added notes on the movies and on the level numbering gaps; removed all that unnecessary bold, what an eyesore
m (→‎Overview: typo)
(moved one note to IGMD; added notes on the movies and on the level numbering gaps; removed all that unnecessary bold, what an eyesore)
 
(20 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{|
'''GameDataFolder''' (commonly called "GDF") is a subfolder of the main Oni folder. It holds the following:
|valign=top|__TOC__
*Oni's game data, in binary format (see [[OBD]] for more info)
|valign=top|GameDataFolder (commonly called GDF to save on typing) is a subfolder of the main Oni folder.<br>It holds the following:
*the level logic, in plain-text (in the IGMD subfolder; see [[BSL]] for more info)
*Oni's game content (in the form of [[dat|instance files]], see [[OBD]] for more info)
*the intro and outro animated sequences, in the Bink video format
*the level logic of the [[Chapters]] (as [[scripts]] in the [[IGMD]] subfolder, see [[BSL]] for more info)
*the [[intro]] and [[outro]] animated sequences, in the BINK video format
|}
==Overview==
Below we list the instance files in parallel with the folders (subfolders of [[IGMD]]) which hold the corresponding level logic. SPOILER WARNING: the Chapter column links to summaries and analyses of Oni's storyline. The BINK movies are listed separately.


{|align="center"
First we show the purpose of each file in this folder – but don't miss our helpful notes below this directory listing.
|
{|{{table}}
|+BINK videos
|[[:Category:Intro sequence|intro.bik]]
|opening animated sequence
|-
|[[:Category:Outro sequence|outro.bik]]
|closing animated sequence
|}
|}


{|align="center"
==Directory listing==
|
You should have all the files below in your GameDataFolder, though the movie files are optional (see note at bottom). 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.
{|{{table}}
|+subfolders
|[[IGMD]]
|level logic folder
|}
|}


{|align="center"
{| class="wikitable" style="margin-left:auto; margin-right:auto;"
|
|-
{|{{table}}
|colspan="3" align="center"|'''File name'''
|+[[dat|instance files]]
|rowspan="2" align="center"|'''Level logic folder'''
{{th}}
|rowspan="2" align="center"|'''[[Chapters|Chapter]]'''
!Instance file (PC)
|rowspan="2" align="center"|'''Location (seen in Load Game dialog)'''
!Instance file (Mac)
|-
!Level logic folder
|align="center"|'''Windows'''
![[Chapters|Chapter]]
|align="center"|'''Mac'''
!Location (as in Load Game dialog)
|align="center"|'''PS2'''
|-
|colspan="2"|<center>[[IGMD|IGMD/]]</center>
|valign=top|1
| <center>--</center>
|colspan=2 align=center|Contains all level logic
|-
|colspan="2"|<center>[[:Category:Intro sequence|intro.bik]]</center>
|valign=top|2
| <center>--</center>
|colspan=2 align=center|Movie plays when Oni is launched
|-
|-
|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
|[[IGMD|IGMD]]\[[IGMD/global|global]]
|3<br>20/1<br>21/1
|colspan=2 align=center|"global": used in all Chapters (see note)
|[[IGMD/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
|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
|[[IGMD|IGMD]]\[[IGMD/EnvWarehouse|EnvWarehouse]]
|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
Line 54: Line 45:
|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
|[[IGMD|IGMD]]\[[IGMD/manplant|manplant]]
|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
Line 60: Line 52:
|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
|[[IGMD|IGMD]]\[[IGMD/lab|lab]]
|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
Line 66: Line 59:
|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
|[[IGMD|IGMD]]\[[IGMD/Airport|Airport]]
|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
Line 72: Line 66:
|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
|[[IGMD|IGMD]]\[[IGMD/Airport_III|Airport_III]]
|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
Line 78: Line 73:
|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
|[[IGMD|IGMD]]\[[IGMD/tctf|tctf]]
|16<br>20/14<br>21/14
|[[IGMD/tctf]]
|{{C|6|6: COUNTERATTACK}}
|{{C|6|6: COUNTERATTACK}}
|TCTF Regional HQ
|TCTF Regional HQ
Line 84: Line 80:
|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
|[[IGMD|IGMD]]\[[IGMD/power|power]]
|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 Center (exterior)
|Atmospheric Conversion Center (exterior)
Line 90: Line 87:
|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
|[[IGMD|IGMD]]\[[IGMD/power_II|power_II]]
|4<br>20/2<br>21/2
|[[IGMD/power_II]]
|{{C|8|8: AN INNOCENT LIFE}}
|{{C|8|8: AN INNOCENT LIFE}}
|Atmospheric Conversion Center (interior)
|Atmospheric Conversion Center (interior)
Line 96: Line 94:
|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
|[[IGMD|IGMD]]\[[IGMD/state|state]]
|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
Line 102: Line 101:
|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
|[[IGMD|IGMD]]\[[IGMD/roof|roof]]
|6<br>20/4<br>21/4
|[[IGMD/roof]]
|{{C|10|10: CAT AND MOUSE}}
|{{C|10|10: CAT AND MOUSE}}
|Rooftops
|Rooftops
Line 108: Line 108:
|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
|[[IGMD|IGMD]]\[[IGMD/dream_lab|dream_lab]]
|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
Line 114: Line 115:
|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
|[[IGMD|IGMD]]\[[IGMD/neuro|neuro]]
|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
Line 120: Line 122:
|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
|[[IGMD|IGMD]]\[[IGMD/tctf_ii|tctf_ii]]
|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)
Line 126: Line 129:
|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
|[[IGMD|IGMD]]\[[IGMD/compound|compound]]
|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
|}
|-
|colspan="2"|<center>[[:Category:Outro sequence|outro.bik]]</center>
|18
| <center>--</center>
|colspan=2 align=center|Movie plays when Oni is beaten
|}
|}


==Notes==
==Notes==
===level0_Final and IGMD\global===
==="Missing" levels===
IGMD\global\ is not present by default, but if it is created, any scripts placed in it will load for all levels; this works only with the PC retail engine: the Mac engines and the PC demo always ignore the global folder. The level0_Final instance file is only loaded once, when Oni starts.
Players in 2001 were puzzled when they first installed Oni and looked inside GameDataFolder to find that there were strange gaps in the file numbering: specifically there's no level5, level7, level15, level16 or level17. There isn't something wrong with your installation: the game's content was reshuffled late in development and Bungie West apparently felt it would be too dangerous or disruptive to re-number the level files. The existing files tell a complete story from Chapter 1 to Chapter 14.
 
===level0_Final===
The level 0 data is only loaded once, when Oni starts.
 
===intro.bik, outro.bik===
*The movie files are not needed for Oni to run. You can thus rename or remove intro.bik to avoid the need to click through the movie.
 
*When the game is beaten and outro finishes playing, the game will quit. Sometimes players think that the game has crashed, but this is by design. Note that if you remove outro.bik, Oni will quit immediately after beating the game.
 
*A bug currently exists where the ending movie plays only its sound, with the screen remaining black. You will have to play outro.bik by double-clicking it if you want to watch it. See next point.
 
*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.


===Movie files===
The Mac Oni app follows the same search pattern for GameDataFolder/, but does not look for OniEngine/GameDataFolder/.
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. You can also delete both files permanently and gain over 100 MB of hard disk space.


===Relative lookup paths of GameDataFolder===
[[Category:Game directory map]]
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 ther root (i.e., it looks for "..\GameDataFolder", "..\..\GameDataFolder", etc). As a last resort, it looks for ".\OniEngine\GameDataFolder". Here are two examples.
*If Oni was installed into C:\Program Files\Oni and is called from that folder (e.g. by double-clicking the executable or the shortcut generated during installation), Oni will first look for "C:\Program Files\Oni\GameDataFolder". If it's missing, it will try "C:\Program Files\GameDataFolder", then "C:\GameDataFolder", and finally "C:\Program Files\Oni\OniEngine\GameDataFolder".
*Same as above, but with the [[AE|Edition]] installed. There is a folder called "C:\Program Files\Oni\edition", which holds  a working copy of GameDataFolder and scripts that "remotely" run Oni (the engine is still in "C:\Program Files\Oni"). If you double-click the scripts, the working directory is "C:\Program Files\Oni\edition", so Oni will first look for "C:\Program Files\Oni\edition\GameDataFolder", and if it's missing it will try "C:\Program Files\Oni\GameDataFolder", "C:\Program Files\GameDataFolder", "C:\GameDataFolder", and finally "C:\Program Files\Oni\edition\OniEngine\GameDataFolder"
Early versions of the [[Daodan DLL|C-Daodan]] discarded the notion of working directory and used the engine's directory instead; the feature will probably be brought back, for backwards compatibility.