- Updated VFS info file

- Disabled Real-Time Sneak per default

git-svn-id: https://ja2svn.mooo.com/source/ja2_v1.13_data@1170 4f8fa57e-7814-0410-bad4-adc449f26b7c
This commit is contained in:
Wanne
2009-07-14 08:39:23 +00:00
parent 5f599e4f87
commit eae15ab7ae
2 changed files with 209 additions and 151 deletions
+2 -2
View File
@@ -325,8 +325,8 @@ ENABLE_ARMOR_COVERAGE = TRUE
; turn-based will continue until the player no longer sees any enemies. ; turn-based will continue until the player no longer sees any enemies.
;****************************************************************************************************************************** ;******************************************************************************************************************************
ALLOW_REAL_TIME_SNEAK = TRUE ALLOW_REAL_TIME_SNEAK = FALSE
QUIET_REAL_TIME_SNEAK = TRUE QUIET_REAL_TIME_SNEAK = FALSE
;****************************************************************************************************************************** ;******************************************************************************************************************************
+92 -34
View File
@@ -1,13 +1,36 @@
------------- Howto setup the Virtual File System (VFS) ------------- ------------- Howto setup the Virtual File System (VFS) -------------
v 1.0 by BirdFlu v 1.1 by BirdFlu
* Table of Contents *
---------------------
I. * Introduction
II. * Configuration
II.1 - Glossary
II.2 - Basic Configuration
II.2.1 main section
II.2.2 profiles
II.2.3 locations
II.3 - Use Cases
II.3.1 main game files
II.3.2 "1.13 Mod"
II.3.3 User Mods
II.4 - Extension
II.4.1 += Extension
III. * Points of Discussion
*********************************** ***********************************
I. Introduction I. Introduction
*********************************** ***********************************
The Virtual File System (VFS) manages file handling and offers a unified The Virtual File System (VFS) manages file handling and offers a unified
view on the file system at game runtime. All files are accessible through view on the file system to the game at runtime. All files are accessible through
a path inside the VFS. During the setup, files and directories can be mapped a path inside the VFS. During the setup, files and directories can be mapped
to a specified location in the VFS independent of its real location on the to a specified location in the VFS independent of its real location on the
hard disc. Additionally to the mapping of real files and directories, also hard disc. Additionally to the mapping of real files and directories, also
@@ -23,14 +46,14 @@ e.g. Tilesets/0/smguns.sti), the game looks in the Data directory first, and whe
the file cannot be found there, it looks in the according archive (tilesets.slf the file cannot be found there, it looks in the according archive (tilesets.slf
in this case). in this case).
The 1.13 Mod adds another layer on top, which is the Data-1.13 directory that The 1.13 Mod adds another layer on top, the Data-1.13 directory, that
behaves in the same way as the Data directory. That is, when a file is accessed, behaves in the same way as the Data directory. That is, when a file is accessed,
the game looks in the Data-1.13 directory first and only then continues with the the game looks in the Data-1.13 directory first and only then continues with the
previously described steps. previously described steps.
The VFS extends this system even further. It externalizes the definition and The VFS extends this system even further. It externalizes the definition and
configuration of these layers or profiles (as they are called in the VFS jargon) configuration of these layers or profiles (as they are called in the VFS jargon)
and allows for an unlimited number of them. Additionally the 7z file (uncompressed) and allows for an unlimited number of them. Additionally, the 7z file (uncompressed)
archive format is supported. Now the order of inclusion of the profiles and the archive format is supported. Now the order of inclusion of the profiles and the
actual files and directories lie in the hands of the user. Thus a proper actual files and directories lie in the hands of the user. Thus a proper
configuration of the VFS is required. configuration of the VFS is required.
@@ -108,7 +131,7 @@ supposed to have the TYPE = DIRECTORY. This directory should be mapped as root
described properties. Thus the written temporary files will be saved in one place, described properties. Thus the written temporary files will be saved in one place,
instead of being scattered over multiple unrelated directories. instead of being scattered over multiple unrelated directories.
II.2.2 locations II.2.3 locations
----------------------------------- -----------------------------------
[LOC_location1] [LOC_location1]
TYPE = DIRECTORY TYPE = DIRECTORY
@@ -262,10 +285,10 @@ LOCATIONS =
PROFILE_ROOT = Profiles\User_ExpMod PROFILE_ROOT = Profiles\User_ExpMod
WRITE = true WRITE = true
(NOTE: the user directories have to exist, even if they are empty) (NOTE: the user directory has to exist, even if it is empty)
Since you can define the filenames for you VFS configuration file in ja2.ini, Since you can define the filenames for you VFS configuration file in ja2.ini,
you can create a couple of vfs config file and switch between then fairly you can create a couple of vfs config file and switch between them fairly
easy easy
############# ja2.ini ############# ja2.ini
@@ -274,33 +297,51 @@ easy
;VFS_CONFIG_INI = vfs_config.my_mod.ini ;VFS_CONFIG_INI = vfs_config.my_mod.ini
VFS_CONFIG_INI = vfs_config.ExpMod.ini VFS_CONFIG_INI = vfs_config.ExpMod.ini
-----------------------------------------------
//********************************** II.4 Extensions
Combine INIs: ===================================
//**********************************
It is possible now to use += in an ini file, which appends a value to a previously set entry, making it a essentially list. Additionally, II.4.1 += Extension
in ja2.ini you can specify a list of ini files instead of only one file. Of course only one value works too, so everything is optional. -----------------------------------
In an ini file it is possible to use the += operator, which appends a value to
a previously set entry, making it a essentially list. This is possible, because
internally a data structure (PropertyContainer) is used that contains a set of
mappings, that in turn map two keys to a property
[key1][key2] = property
This data structure can be initialized from an ini file, which make 'key1' a
section, 'key2' a key and 'property' the value of that section-key pair in that
ini file. This data structure can also be initialized from multiple ini files,
where the += operator appends a new value to an already defined entry.
This gives us the possibility to define an ini file for every mod (or to combine inis as we like, as long as the ordering is the same.) I'll give you an example. This extenstion is used in the configuration of the VFS, such that the definition
of the VFS_CONFIG_INI value in in ja2.ini accepts a list of configuration files. As
one value makes a one-valued list, this extension fits nicely in the system without
requiring modifications to existing configuration files.
--------- vfs_config.vanilla.ini --------- So, a possible application of this extension could be the stand-alone configuration
of a mod, where each mod brings an own configuration file that is merged with
configuration files from other mods. Thus, it is easy to create a valid configuration
for a larger number of mods, where otherwise for every mod combination an own
configuration file would have to be created. And even for a small amount of
(combinable) mods the total number of configuration files would increase very fast.
For the default mod combination (Vanilla, 1.13) there would be two mod and one user
configuration file
############# vfs_config.ja2.ini
[vfs_config] [vfs_config]
PROFILES = SlfLibs, Vanilla, UserProf PROFILES = SlfLibs, Ja2Data
[PROFILE_SlfLibs] [PROFILE_SlfLibs]
.... ...
[PROFILE_Vanilla] [PROFILE_Ja2Data]
.... ...
[LOC_...] [LOC_...]
.... ...
....
--------- ---------
--------- vfs_config.v113.ini --------- ############# vfs_config.v113.ini
[vfs_config] [vfs_config]
PROFILES += v113 PROFILES += v113
@@ -313,30 +354,47 @@ PROFILE_ROOT =
TYPE = DIRECTORY TYPE = DIRECTORY
PATH = Data-1.13 PATH = Data-1.13
MOUNT_POINT = MOUNT_POINT =
--------- ---------
--------- vfs_config.user.ini --------- ############# vfs_config.user.ini
[vfs_config] [vfs_config]
PROFILES += UserProf PROFILES += UserProf
[PROFILE_UserProf] [PROFILE_UserProf]
NAME = Player Profile NAME = User Profile
LOCATIONS = LOCATIONS =
PROFILE_ROOT = Profiles\UserProfile PROFILE_ROOT = Profiles\UserProfile
WRITE = true WRITE = true
--------- --------- ##############
So, in ja2.ini we would have the following entry for Vanille The actual combination of mods would be done in the file ja2.ini, where
VFS_CONFIG_INI = vfs_config.vanilla.ini, vfs_config.user.ini ############# ja2.ini
[Ja2 Settings]
VFS_CONFIG_INI = vfs_config.ja2.ini, vfs_config.user.ini
and for v1.13 would be the Vanilla game configuration, and the following
VFS_CONFIG_INI = vfs_config.vanilla.ini, vfs_config.v113.ini, vfs_config.user.ini ############# ja2.ini
[Ja2 Settings]
VFS_CONFIG_INI = vfs_config.ja2.ini, vfs_config.v113.ini, vfs_config.user.ini
and for any other mod would be the setup for the "1.13" mod.
VFS_CONFIG_INI = vfs_config.vanilla.ini, vfs_config.v113.ini, mod1.ini, mod2.ini, vfs_config.user.ini Other mods can be added by simply entering its configuration file
in the list
Of course, the user.ini can be adjusted to every mod, so that savegames are not mixed. So, if you (=inexperienced user) want to add a small mod, you don't have to struggle with a big incomprehensible ini, but instead just take the provided mod ini (which will work if all files are in default directories) and add it to the ini list in ja2.ini. ############# ja2.ini
[Ja2 Settings]
VFS_CONFIG_INI = vfs_config.ja2.ini, vfs_config.v113.ini, mod1.ini, mod2.ini, vfs_config.user.ini
In order to avoid mixing savegames and temporary files of different mod combinations,
a separate user profile directory can be used, where every user profile is defined
in an own user configuration file. The user profile can be selected by adding the
according configuration file at the end of the mod configuration file list.
***********************************
II. Points of Discussion
***********************************
TODO: ...