Saving space with multiple orbiter installations

martins

Orbiter Founder
Orbiter Founder
Joined
Mar 31, 2008
Messages
2,410
Reaction score
297
Points
83
Website
orbit.medphys.ucl.ac.uk
Since multiple orbiter installations seem to be quite popular, and can take a significant amount of disk space, it occurred to me that many people may not be aware of a fairly easy way to save space:

Most of the disk space of an orbiter installation is taken up by the Textures and Textures2 folders, which quite often are identical in the different Orbiter installations. If that is the case, you can move the Textures and Textures2 directories from one of your installations to some common repository location, delete the Textures and Textures2 directories from your individual orbiter installations, and modify the TextureDir and HightexDir entries in your Orbiter.cfg files to point to the directories in the repository.

Alternatively to editing the Orbiter.cfg files, you can place symbolic links to the repository directories in your individual orbiter folders. I only just noticed that Windows does support proper symbolic links:

http://msdn.microsoft.com/en-us/library/aa365006%28v=vs.85%29.aspx

http://technet.microsoft.com/en-us/sysinternals/bb896768

The symbolic link method is also less likely to break addon installations which don't take into account that the Textures and Textures2 folders may be in a different place.

Note that you shouldn't share Textures directories between different orbiter versions (e.g. 2006 and 2010) since the texture format has changed.
 

Bonanza123d

Time Lord from Gallifrey
Joined
Jun 18, 2010
Messages
269
Reaction score
0
Points
0
Excellent tip. Can you do the same with meshes?
 

orb

O-F Administrator,
News Reporter
Joined
Oct 30, 2009
Messages
14,023
Reaction score
1
Points
0
There is a nice shell extension I use for this - Link Shell Extension. It saves some time in creating links (right click drag & drop), adds icon overlays to identify what's linked, and shows details of the link/junction in properties.
 

Belisarius

Obsessed with reality. Why?
Addon Developer
Joined
Apr 3, 2008
Messages
979
Reaction score
1
Points
0
Location
Barcelona, Spain
Right on time - my HD is packed now.

Apart from Textures, can it work also for Meshes, as asked by Bonanza, and Sounds?
 

martins

Orbiter Founder
Orbiter Founder
Joined
Mar 31, 2008
Messages
2,410
Reaction score
297
Points
83
Website
orbit.medphys.ucl.ac.uk
Yes, any directories that are either identical between your installations, or where at least the intersection (the common files) is identical (the repository should then contain the union of all files for the individual installations). Note however that any addons you install in one of your orbiter installations will also appear in the others, insofar as the common directories are concerned. If you share everything, then there is no point in having different orbiter installations in the first place.

Also, directories that are scanned by Orbiter at runtime (e.g. Modules and subdirectories, or Config and subdirectories) should not be merged and shared, since this would affect the behaviour of the individual orbiter installations.
 

n122vu

Addon Developer
Addon Developer
Donator
Joined
Nov 1, 2007
Messages
3,183
Reaction score
36
Points
73
Location
KHNB
Could there be potential for a slight\minimal performance gain if the repository is on a second physical hard drive (based on the performance of the second drive), similar to what was seen with the old pagefile trick for Windows?
 

orb

O-F Administrator,
News Reporter
Joined
Oct 30, 2009
Messages
14,023
Reaction score
1
Points
0
Could there be potential for a slight\minimal performance gain if the repository is on a second physical hard drive (based on the performance of the second drive), similar to what was seen with the old pagefile trick for Windows?

If the second hard drive is faster than the one where you have Orbiter. On the simulation start, files are loaded by Orbiter sequentially, so it won't be faster just because they are on another physical drive, and even if they are loaded during simulation in background, if your Windows doesn't swap memory at that time on the 1st drive, or some other applications or services use your Orbiter's installation hard drive at that time.
 

Bonanza123d

Time Lord from Gallifrey
Joined
Jun 18, 2010
Messages
269
Reaction score
0
Points
0
Yes, any directories that are either identical between your installations, or where at least the intersection (the common files) is identical (the repository should then contain the union of all files for the individual installations). Note however that any addons you install in one of your orbiter installations will also appear in the others, insofar as the common directories are concerned. If you share everything, then there is no point in having different orbiter installations in the first place.

Also, directories that are scanned by Orbiter at runtime (e.g. Modules and subdirectories, or Config and subdirectories) should not be merged and shared, since this would affect the behaviour of the individual orbiter installations.

Yea. Good idea for the beta install
 

Ripley

Tutorial translator
Donator
Joined
Sep 12, 2010
Messages
2,988
Reaction score
236
Points
78
Location
Rome
Website
www.tuttovola.org
Good tip!
But I opened my "Orbiter.cfg" and I can't find any reference at all at "Texture" paths whatsoever...

I only have these sections:

; === ORBITER Master Configuration File ===
; === Logical parameters ===
; === Visual parameters ===
; === Device settings ===
; === Active plugin list ===

Have I completely missed that I must manually add something to this file?
 

Ripley

Tutorial translator
Donator
Joined
Sep 12, 2010
Messages
2,988
Reaction score
236
Points
78
Location
Rome
Website
www.tuttovola.org
Ok, thanks.
Meanwhile (did I hear RTFM?) I'm reading "OrbiterConfig.pdf"...

:tiphat:

May I suggest to those who backup their Orbiter folder(s) to remember adding these 2 new texture folders in their backup procedure?
 
Last edited:

Jarvitä

New member
Joined
Aug 5, 2008
Messages
2,030
Reaction score
1
Points
0
Location
Serface, Earth
I don't see how you could possibly save space by having multiple installations of orbiter. I just use a single installation and use a git-like version control system to enable/disable individual addons and features.
 

garyw

O-F Administrator
Administrator
Addon Developer
Tutorial Publisher
Joined
May 14, 2008
Messages
10,416
Reaction score
14
Points
113
Location
Kent
Website
blog.gdwnet.com
I don't see how you could possibly save space by having multiple installations of orbiter. I just use a single installation and use a git-like version control system to enable/disable individual addons and features.

You don't.

the idea here is to save space for people who have multiple installs.

E.g. I have a 'serious' version and a 'play' version. the play version is used for testing out and breaking things.

By sharing the Textures and textures2 directories between the installs I only have one set of textures used for both. Instant space savings.

Think of it is deduplication.
 

Ripley

Tutorial translator
Donator
Joined
Sep 12, 2010
Messages
2,988
Reaction score
236
Points
78
Location
Rome
Website
www.tuttovola.org
On moving texture folders

I've "merged" my 3 installations texture folders into two new ones, and I've edited the 3 different "orbiter.cfg" files to point them to the new locations.

Noticing that my DG-IV2 has always the same skin, I opened the Scenario Editor -> DGIV repaint center, and the skins list is empty.

I'm currently messing with the "MeshSkin" parameter in the scn file, but still no joy.

So to my question: is it possible to move the whole content of textures and textures2 folders (i.e. including all their realtive subfolders) using this method, or does it break something?
 
Last edited:

garyw

O-F Administrator
Administrator
Addon Developer
Tutorial Publisher
Joined
May 14, 2008
Messages
10,416
Reaction score
14
Points
113
Location
Kent
Website
blog.gdwnet.com
I've not tested this myself as I just tend to copy everything - textures included.

it may be that the DG-IV has something in its own config file telling it where the textures folder is.

try creating a textures folder and copying the DG skins into it. If the DGIV can see those skins whilst the orbiter.cfg points to a different location then you'll know that the DGIV uses something other than orbiter.cfg for the texture directory location.
 

orb

O-F Administrator,
News Reporter
Joined
Oct 30, 2009
Messages
14,023
Reaction score
1
Points
0
Noticing that my DG-IV2 has always the same skin, I opened the Scenario Editor -> DGIV repaint center, and the skins list is empty.
The DGIV repaint center most likely doesn't use Orbiter's TextureDir and HitexDir, but has hardcoded Textures & Textures2 as the subdirectories where to search for skins.

The default skin is loaded because Orbiter knows where it is.

So to my question: is it possible to move the whole content of textures and textures2 folders (i.e. including all their realtive subfolders) using this method, or does it break something?
It is possible only for compatible with it add-ons.

If you want compatibility for all possible add-ons, use directory junctions (>= Windows 2000), or symbolic links (>= Vista), and the default Orbiter data paths.
 

orb

O-F Administrator,
News Reporter
Joined
Oct 30, 2009
Messages
14,023
Reaction score
1
Points
0
Just to confirm (as I've just extracted DGIV2 to folder with empty orbiter.exe file :p), DeltaGliderIV.dll has these locations hardcoded in the .dll:
Code:
\textures2\DGIV\skindefault.jpg
\textures2\DGIV\Skin\
textures2\DGIV\skin\*.*
textures2\DGIV\skin\%s\DGIII_5.dds

config\vessels\%s.cfg
\config\DGIVPAYLOAD\IMAGES\
config\vessels\UCGO\Cargos\*.cfg
config\DGIVPAYLOAD\images\*.jpg
config\vessels\UCGO\Cargos\%s
config\vessels\UCGO\Cargos\%s.cfg
config\UMMUIdConfig\*.cfg
config\UMmutmp.cfg
config\UMmutmpT.cfg

meshes\UniversalCars\bin\ver.dtf
Meshes\UniversalCars\bin\ConfigDarkScreen.msh
meshes\UMmu\ver.dtf
You need either duplicate just Textures2\DGIV folder or make a junction/symbolic link. Similarly, you either can't move Meshes and Config folders, or you need to make similar links to them from the common location.
 

garyw

O-F Administrator
Administrator
Addon Developer
Tutorial Publisher
Joined
May 14, 2008
Messages
10,416
Reaction score
14
Points
113
Location
Kent
Website
blog.gdwnet.com
It's possible to use this tool to create a junction point which is the Windows version of symlinks.
 

orb

O-F Administrator,
News Reporter
Joined
Oct 30, 2009
Messages
14,023
Reaction score
1
Points
0
An update for Windows XP users on possibility of using symbolic links (and creating of course) on their systems:


Link Shell Extension: Symbolic links for Windows XP:
Symbolic links for Windows XP
Technically it seems that NTFS5 even shipped with WindowsXP has always supported symbolic links, but the functionality was not available for user mode applications, and even not for the upper layers of ntfs.sys

BUT: There are filter drivers available from Masatoshi Kimura for even WindowsXP, which enable symbolic links under XP. These drivers can be downloaded from his home page for 64 bit and for 32 bit. The sources are also available.

Installation of these drivers is also quite simple.
  • Unpack the archive for your plattform,
  • Start the driver via executing senable.exe.

If you want to stop the driver, execute from a command prompt 'senable.exe delete'.
After an reboot make sure that at system startup senable is started once, so that the driver is loaded.

Link Shell Extension enables its complete symbolic link functionality under XP as soon as it finds this driver loaded. And, sensation(!): There is no UAC prompt necessary under XP for creating symbolic links ;-))​

{...}
 

thammond

New member
Joined
Apr 25, 2008
Messages
90
Reaction score
0
Points
0
Location
Watertown
I recently installed the 2016 beta and set up the texture sharing from my regular 2016 installation to save space. However the earth is mostly black accept for the immediate area around the launch pad.


Not sure if you can't share 2016 texture files with 2016 beta, or if I did something incorrectly when setting up the texture sharing.


Any ideas on what I did wrong?
 
Top