Oni (folder)/GameDataFolder: Difference between revisions

m
link fix
mNo edit summary
 
m (link fix)
 
(41 intermediate revisions by 3 users not shown)
Line 1: Line 1:
==GameDataFolder==
'''GameDataFolder''' (commonly called "GDF") is a subfolder of the main Oni folder. It holds the following:
(Default location on PC is '''C:\Program Files\Oni\GameDataFolder''')
*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


This is where all of Oni's "game data" resources are stored. The contents is normally read-only and won't change between two Oni sessions.
==Overview==
===Movie files in BINK format===
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.
*'''intro.bik'''
 
*'''outro.bik'''
{| class="wikitable" style="margin-left:auto; margin-right:auto;"
===Binary resources===
|-
(This is for PC, Mac users please contribute)
|colspan="3" align="center"|'''File name'''
*'''level0_Final.dat''' and '''level0_Final.raw''' - global binary resources
|rowspan="2" align="center"|'''Level logic folder'''
*'''level1_Final.dat''' and '''level1_Final.raw''' - binary resources for Chapters 0:COMBAT TRAINING and 1:TRIAL RUN
|rowspan="2" align="center"|'''[[Chapters|Chapter]]'''
*'''level2_Final.dat''' and '''level2_Final.raw''' - binary resources for Chapter 2:ENGINES OF EVIL
|rowspan="2" align="center"|'''Location (as in Load Game dialog)'''
*'''level3_Final.dat''' and '''level3_Final.raw''' - binary resources for Chapter 3:PUZZLE PIECES
|-
*'''level4_Final.dat''' and '''level4_Final.raw''' - binary resources for Chapter 4:TIGER BY THE TAIL
|align="center"|'''Windows'''
*'''level6_Final.dat''' and '''level6_Final.raw''' - binary resources for Chapter 5:HOT PURSUIT
|align="center"|'''Mac'''
*'''level8_Final.dat''' and '''level8_Final.raw''' - binary resources for Chapter 6:COUNTERATTACK
|align="center"|'''PS2'''
*'''level9_Final.dat''' and '''level9_Final.raw''' - binary resources for Chapter 7:A FRIEND IN NEED
|-
*'''level10_Final.dat''' and '''level10_Final.raw''' - binary resources for Chapter 8:AN INNOCENT LIFE
|colspan="2"|<center>'''[[IGMD|IGMD/]]'''</center>
*'''level11_Final.dat''' and '''level11_Final.raw''' - binary resources for Chapter 9:TRUTH AND CONSEQUENCES
|valign=top|'''1'''
*'''level12_Final.dat''' and '''level12_Final.raw''' - binary resources for Chapter 10:CAT AND MOUSE
| <center>--</center>
*'''level13_Final.dat''' and '''level13_Final.raw''' - binary resources for Chapter 11:DREAM DIVER
|colspan=2 align=center|Contains all level logic
*'''level14_Final.dat''' and '''level14_Final.raw''' - binary resources for Chapter 12:SINS OF THE FATHER
|-
*'''level18_Final.dat''' and '''level18_Final.raw''' - binary resources for Chapter 13:PHOENIX RISING
|colspan="2"|<center>'''[[:Category:Intro sequence|intro.bik]]'''</center>
*'''level19_Final.dat''' and '''level19_Final.raw''' - binary resources for Chapter 14:DAWN OF THE CHRYSALIS
|valign=top|'''2'''
===Script folder===
| <center>--</center>
A subfolder of '''GameDataFolder''' called '''IGMD'''.
|colspan=2 align=center|Movie plays when Oni is launched (see note below)
The original contents is as follows :
|-
====IGMD\EnvWarehouse====
|valign=top|'''level0_Final.dat<br>level0_Final.raw'''
Level logic for Chapters 0:COMBAT TRAINING and 1:TRIAL RUN
|'''level0_Final.dat<br>level0_Final.raw<br>level0_Final.sep'''
*warehouse_anim_scripts.bsl
|'''3<br>20/1<br>21/1'''
*warehouse_cutscene.bsl
|[[IGMD/global]]
*warehouse_level_scripts.bsl
|colspan=2 align=center|Used in all Chapters (see notes below on "level0_Final" and "IGMD/global")
*warehouse_main.bsl
|-
*warehouse_particles.bsl
|valign=top|'''level1_Final.dat<br>level1_Final.raw'''
*warehouse_train2.bsl
|'''level1_Final.dat<br>level1_Final.raw<br>level1_Final.sep'''
*warehouse_training_scripts.bsl
|'''11<br>20/9<br>21/9'''
====IGMD\manplant====
|[[IGMD/EnvWarehouse]]
Level logic for Chapter 2:ENGINES OF EVIL
|{{C|0|0: COMBAT TRAINING}}<br>{{C|1|1: TRIAL RUN}}
*manplant_anim_scripts.bsl
|TCTF Training<br>Syndicate Warehouse
*manplant_cutscene.bsl
|-
*manplant_level_logic.bsl
|valign=top|'''level2_Final.dat<br>level2_Final.raw'''
*manplant_main.bsl
|'''level2_Final.dat<br>level2_Final.raw<br>level2_Final.sep'''
*particle_scripts.bsl
|'''12<br>20/10<br>21/10'''
====IGMD\lab====
|[[IGMD/manplant]]
Level logic for Chapter 3:PUZZLE PIECES
|{{C|2|2: ENGINES OF EVIL}}
*lab_cutscene.bsl
|Manufacturing Plant
*lab_level_logic.bsl
|-
*lab_main.bsl
|valign=top|'''level3_Final.dat<br>level3_Final.raw'''
*particle_scripts.bsl
|'''level3_Final.dat<br>level3_Final.raw<br>level3_Final.sep'''
====IGMD\Airport====
|'''13<br>20/11<br>21/11'''
Level logic for Chapter 4:TIGER BY THE TAIL
|[[IGMD/lab]]
*airport_cutscene.bsl
|{{C|3|3: PUZZLE PIECES}}
*airport_main.bsl
|Bio-Research Lab
*airport1_level_logic.bsl
|-
====IGMD\Airport_III====
|valign=top|'''level4_Final.dat<br>level4_Final.raw'''
Level logic for Chapter 5:HOT PURSUIT
|'''level4_Final.dat<br>level4_Final.raw<br>level4_Final.sep'''
*airport2_cutscene.bsl
|'''14<br>20/12<br>21/12'''
*airport2_level_logic.bsl
|[[IGMD/Airport]]
*airport2_main.bsl
|{{C|4|4: TIGER BY THE TAIL}}
====IGMD\tctf====
|Airport Assault
Level logic for Chapter 6:COUNTERATTACK
|-
*particle_scripts.bsl
|valign=top|'''level6_Final.dat<br>level6_Final.raw'''
*tctf_cutscene.bsl
|'''level6_Final.dat<br>level6_Final.raw<br>level6_Final.sep'''
*tctf_door_lock_lights.bsl
|'''15<br>20/13<br>21/13'''
*tctf_main.bsl
|[[IGMD/Airport_III]]
*tctf_objectives.bsl
|{{C|5|5: HOT PURSUIT}}
*tctf_spawn_syndicate.bsl
|Airport Cargo Hangars
====IGMD\power====
|-
Level logic for Chapter 7:A FRIEND IN NEED
|valign=top|'''level8_Final.dat<br>level8_Final.raw'''
*particle_scripts.bsl
|'''level8_Final.dat<br>level8_Final.raw<br>level8_Final.sep'''
*power_cutscene.bsl
|'''16<br>20/14<br>21/14'''
*power_main.bsl
|[[IGMD/tctf]]
*power_objectives.bsl
|{{C|6|6: COUNTERATTACK}}
*power_spawn.bsl
|TCTF Regional HQ
====IGMD\power_II====
|-
Level logic for Chapter 8:AN INNOCENT LIFE
|valign=top|'''level9_Final.dat<br>level9_Final.raw'''
*particle_scripts.bsl
|'''level9_Final.dat<br>level9_Final.raw<br>level9_Final.sep'''
*power_II_main.bsl
|'''17<br>20/15<br>21/15'''
*power2_spawn.bsl
|[[IGMD/power]]
*powerII_cutscene.bsl
|{{C|7|7: A FRIEND IN NEED}}
====IGMD\state====
|Atmospheric Conversion Center (exterior)
Level logic for Chapter 9:TRUTH AND CONSEQUENCES
|-
*state_cutscene.bsl
|valign=top|'''level10_Final.dat<br>level10_Final.raw'''
*state_level_logic.bsl
|'''level10_Final.dat<br>level10_Final.raw<br>level10_Final.sep'''
*state_main.bsl
|'''4<br>20/2<br>21/2'''
====IGMD\roof====
|[[IGMD/power_II]]
Level logic for Chapter 10:CAT AND MOUSE
|{{C|8|8: AN INNOCENT LIFE}}
*particle_scripts.bsl
|Atmospheric Conversion Center (interior)
*roof.bsl
|-
*roof_cutscene.bsl
|valign=top|'''level11_Final.dat<br>level11_Final.raw'''
*roof_main.bsl
|'''level11_Final.dat<br>level11_Final.raw<br>level11_Final.sep'''
====IGMD\dream_lab====
|'''5<br>20/3<br>21/3'''
Level logic for Chapter 11:DREAM DIVER
|[[IGMD/state]]
*dream_lab_cutscene.bsl
|{{C|9|9: TRUTH AND CONSEQUENCES}}
*dream_lab_logic.bsl
|Regional State Building
*dream_lab_main.bsl
|-
*particle_scripts.bsl
|valign=top|'''level12_Final.dat<br>level12_Final.raw'''
====IGMD\neuro====
|'''level12_Final.dat<br>level12_Final.raw<br>level12_Final.sep'''
Level logic for Chapter 12:SINS OF THE FATHER
|'''6<br>20/4<br>21/4'''
*neuro_cutscene.bsl
|[[IGMD/roof]]
*neuro_level_logic.bsl
|{{C|10|10: CAT AND MOUSE}}
*neuro_main.bsl
|Rooftops
*particle_scripts.bsl
|-
====IGMD\tctf_ii====
|valign=top|'''level13_Final.dat<br>level13_Final.raw'''
Level logic for Chapter 13:PHOENIX RISING
|'''level13_Final.dat<br>level13_Final.raw<br>level13_Final.sep'''
*tctf_ii_cutscene.bsl
|'''7<br>20/5<br>21/5'''
*roof_main.bsl
|[[IGMD/dream_lab]]
*tctf2.bsl
|{{C|11|11: DREAM DIVER}}
====IGMD\compound====
|Doctor Hasegawa's Lab
Level logic for Chapter 14:DAWN OF THE CHRYSALIS
|-
*compound.bsl
|valign=top|'''level14_Final.dat<br>level14_Final.raw'''
*compound_cutscene.bsl
|'''level14_Final.dat<br>level14_Final.raw<br>level14_Final.sep'''
*compound_main.bsl
|'''8<br>20/6<br>21/6'''
*particle_scripts.bsl
|[[IGMD/neuro]]
|{{C|12|12: SINS OF THE FATHER}}
|TCTF Science Prison
|-
|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}}
|TCTF Regional HQ (redux)
|-
|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}}
|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 (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/.
 
[[Category:Game directory map]]