Talk:Modifying an existing level
Jump to navigation
Jump to search
Idea
To convert an extracted ONLV into a new project file you need even more in-depth knowledge about the file structure than for simply building a level project file from scratch.
Therefore, it would be nice if we could provide a tool to automate necessary work as much as possible.
One-click operation:
- Level extraction.
- Conversion of ONLV into an actual project file.
- Recycling of physics and locklights.
- Preserving as much vertex shading as possible by preferring DAE over CJBO linked meshes.
- BSL analysis to create FILM and cut scene sections?
AE package
mods.oni2.net | +-- LevelRecycler.zip | +-- #####packageName | +-- Mod_Info.cfg +-- plain | +--win_only | +--Tools | +-- LevelRecycler | +-- icon.png (32 x 32 px) +-- LevelRecycler.exe
Mod_Info.cfg
AEInstallVersion -> 2.0 NameOfMod -> Level Recycler Creator -> ModVersion -> Readme -> ExeName -> Tools/LevelRecycler/LevelRecycler.exe WorkingDir -> Exe IconName -> Tools/LevelRecycler/icon.png
Startup
Oni | +-- AE | +-- Tools | | | +-- OniSplit.exe | +-- LevelRecycler | | | +-- icon.png | +-- LevelRecycler.exe | +-- GameDataFolder | +-- level0_Final.dat +-- level0_Final.raw +-- level1_Final.dat +-- level1_Final.raw +-- ... +-- IGMD | +-- BSL script folders
The "on load" event of the LevelRecycler should automatically update an overview of existing levels:
- Level0_Final.dat stores all ONLD with more meaningful level names.
- Each non-zero level DAT-archive stores an ONLV file.
- With those extracted files, a list for modders can be built to easily identify the level they want to recycle.
// shortened paths OniSplit -export:ONLD* ONLD level0_Final.dat OniSplit -extract:xml ONLD ONLD/*.oni for each non-zero DAT OniSplit -export:ONLV* ONLV ....dat OniSplit -extract:xml ONLV ONLV/*.oni
dat file name, BSL script folder, level name ---------------------------------------------- level1_Final.dat, ONLV<Name>, ONLD<DisplayName>
As soon as the modder has selected the preferred level, it should be a one-click operation to carry out the recycling.