New Release Orbiter Addons Manager

Marijn

Active member
Joined
Mar 5, 2008
Messages
755
Reaction score
166
Points
43
Location
Amsterdam
Could you explain this further?

Another example is lc39a_spacex_180510. Check the installation instructions. It requires you to add a line between some tags in the Config/Earth.cfg file.

Imagine that other add-ons also require modifications to this file. That would create a series of dependencies between these add-ons.

To solve this, you need to actually insert the line by code just as you would do now by hand. That's called merging.
 

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,390
Reaction score
577
Points
153
Location
Vienna
Could you explain this further?

Let's say you have addon A that adds a GBody to Orbiter via Sol.cfg, and addon B that add a different GBody to Sol.cfg. How would you activate both addons so that they work properly? Normally you'd edit the files manually, so in essence you'd do what DVCS systems call a "merge".

It doesn't actually matter if I 'reinvented the wheel'. This project created as a practical example to learn C++. As much as I go deeper, as much as I learn new things in C++ and programming in general. This will add a lot of C++ experience to me.

That's a good point, but remember that learning often goes hand in hand with failing. On your way to DVCS, you'll make many, many mistakes, all the while screwing up the experience for your users. If you keep it simple, you can confine the mistakes in the smaller problem area.
 

Marijn

Active member
Joined
Mar 5, 2008
Messages
755
Reaction score
166
Points
43
Location
Amsterdam
Marijn, wouldn't this help?
(emphasys mine)

https://www.orbiter-forum.com/showthread.php?t=21471

The con of this approach is that you either enable or disable all hi-res textures for all planets (and vessels etc) at the same time. That's not very convenient. The reason I want to uninstall a hi-res texture pack is most likely because I need to free up space for another one. So I'll stick with the symbolic links for now. There seems to be no other solution if you insist that certain files only exist once on your partition.
 

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,842
Reaction score
2,105
Points
203
Location
between the planets
After reading through this thread and all the complexities I never even thought about, I get the impression that we should just start managing our orbiter add-ons with Git! :lol:
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,588
Reaction score
2,312
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
After reading through this thread and all the complexities I never even thought about, I get the impression that we should just start managing our orbiter add-ons with Git! :lol:


Or stuff them into application containers operating on a common Orbiter API....
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,588
Reaction score
2,312
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
Oh dear... "Docker for Orbiter"... Dorker? That'll be the day :lol:


Well, maybe we should get some linguistic difference between Docker and Docking. :lol:
 

Marijn

Active member
Joined
Mar 5, 2008
Messages
755
Reaction score
166
Points
43
Location
Amsterdam
Does or could Orbiter execute any file-changing code when activating or deactivating modules?
 

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,390
Reaction score
577
Points
153
Location
Vienna
Does or could Orbiter execute any file-changing code when activating or deactivating modules?

Module code is not sandboxed in the Windows environment, so you can use the whole WinAPI, like e.g. the file API. Many addons use this to read/write INI-files on activation/deactivation.
 

Marijn

Active member
Joined
Mar 5, 2008
Messages
755
Reaction score
166
Points
43
Location
Amsterdam
Module code is not sandboxed in the Windows environment, so you can use the whole WinAPI, like e.g. the file API. Many addons use this to read/write INI-files on activation/deactivation.

Ok, so that's something to be aware of as well. Thanks. I noticed that activating the D3D9 clients results in some minor changes in orbiter_ng.cfg.
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,588
Reaction score
2,312
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
Ok, so that's something to be aware of as well. Thanks. I noticed that activating the D3D9 clients results in some minor changes in orbiter_ng.cfg.


Yes, by Orbiter. It saves its configuration there.
 

Marijn

Active member
Joined
Mar 5, 2008
Messages
755
Reaction score
166
Points
43
Location
Amsterdam
A little demonstration of my attempt to iron most of the inconveniences out. This video shows how to create a new Orbiter installation from scratch and have the add-on's managed by JSGME. I did clean up some of the add-on's file and folder structures. I deleted readme.txt files in the root folder, deleted thumbnails and other non-essential files and renamed the documentation folders so everything goes into /DOC and I made some add-on's myself to apply my personal configurations for Orbiter, D3D9, XRSound and IMFD. In just over six minutes, Orbiter is unzipped, modded, configured and unmodded back to Orbiter's initial state. Orbiter_ng.exe is only launched once.


Before taking the snapshot, I had to create a Sound folder in the root. That's unfortunate, but many add-ons will put files there.
MyChanges sets Parameters, Visual Effects, Debugging and Performance settings to Orbiter. Then the D3D9Client is installed, configured for either 16:10 or 16:9 (for YouTube recordings) and modded so it will not show Replay and Recording when replaying or recording at the bottom of the screen. Then XRSound is installed and set to my preferences (no music in external view). Then the other add-on's are installed. IMFD is set to my preferences as well (note the MJD default instead of GET).

Changes to files like Sol.cfg and Earth.cfg need to be done manually. And for the hi-res textures I will keep on using symlinks untill I have a better solution. Hope you like it. I will try OvGME now.
 

Marijn

Active member
Joined
Mar 5, 2008
Messages
755
Reaction score
166
Points
43
Location
Amsterdam
Ok. I found a real nice solution for installing the hi-res texture packs which I think is worth sharing. It will work with the JSGME application and any other mod manager I think, but it can be used as a stand-alone solution as well. And it's just a normal Orbiter mod.

It allows to activate and deactivate individual hi-res texture packs for one or more Orbiter installations. Since no files are actually copied or moved, the 32-bit nature of JSGME is not a problem anymore. That's the beauty of it. And it's really quick.

Have a look at the video. Note the available free space on my harddrive before and after installing the hi-res textures. There is no difference at any time. (edit: 28,6Gb. Video starts blurred)

For Mars, it is required to modify the Config\Mars.cfg file. That's done as well. After deactivating the texture packs, the original Orbiter textures are restored. The label files remain as any other file would generated by an add-on.

Edit: video
[ame="https://youtu.be/2sOKQE-G0TI"]Orbiter2016 Hi res texture pack handling - YouTube[/ame]

The location of the hi-res textures can be anywhere. I keep 'em as below. There are no subfolders within these folders, just the texture files.
D:\Orbiter\High-resolution texture packs\Earth
D:\Orbiter\High-resolution texture packs\Mars
D:\Orbiter\High-resolution texture packs\Moon

Then for each of these texture packs, I've created a separate add-on which creates the symlinks to the real hi-res files in the Archive folders of the Orbiter installation by double-clicking a bat file. That file deletes itself after it is finished.

The trick was to create a mod structure with 0kb dummy texture files in the Textures\Planet\Archive folders. By activating the mod, the original textures are overwritten by these dummies and therefore backupped by JSGME. After this step, the dummies are deleted so the symlinks can take their place. Hope you like it.
 
Last edited:

Abdullah Radwan

Addon Developer
Addon Developer
Joined
Aug 20, 2017
Messages
314
Reaction score
284
Points
78
Location
Cairo
After a busy week in school, version 1.0.1 released.

Added enable and disable feature, fixes many and many bugs.

Snapshots added to TODO for 1.0.2. Will see editing Sol.cfg idea.
 

Abdullah Radwan

Addon Developer
Addon Developer
Joined
Aug 20, 2017
Messages
314
Reaction score
284
Points
78
Location
Cairo
After 2 weeks, version 1.0.2 is about to be released. A lot of features was added. Settings window, ability to manage multiple Orbiter installations, snapshots, ignored folders/files and database editor. Minor bugs were fixed.

---------- Post added 5th Oct 2018 at 02:31 PM ---------- Previous post was 4th Oct 2018 at 06:56 PM ----------

1.0.2 released.
 

Zandy12

Add-on Developer
Donator
Joined
Nov 19, 2017
Messages
170
Reaction score
2
Points
18
Location
Ames
I'm impressed with this add-on. It can indeed be quite a useful tool for those who would like to avoid the hassle of installing add-ons, myself included. There's still a bit of a learning curve though for a new player if they aren't familiar with the Orbiter folder or installing mods in general.

Few bugs i've noticed:

- Even if the add-on installation fails, the file still gets removed upon request. Requiring you to unzip the file again.
- Nothing shows up on the database except the mods I install via the Installation button, only those show up.
- Whenever I use the snapchat option, my entire Orbiter folder gets deleted. It doesn't even get sent to the Recycle Bin.
- Sometimes after installing an add-on, it is missing on the database. Meaning, I have to uninstall it manually.
- If I have an add-on folder that has another folder right after it that actually has the content (typical with some freshly downloaded add-ons), OAD ends up just importing the file without putting the files in the right directories.
- There is no warning for if a file is about to be overwritten or replaced. It'd be nice to have that.

I like the system you have in place e.g replacing .cfg with .oad when disabling the add-ons. This is a really great project :).
 

Abdullah Radwan

Addon Developer
Addon Developer
Joined
Aug 20, 2017
Messages
314
Reaction score
284
Points
78
Location
Cairo
I'm impressed with this add-on. It can indeed be quite a useful tool for those who would like to avoid the hassle of installing add-ons, myself included. There's still a bit of a learning curve though for a new player if they aren't familiar with the Orbiter folder or installing mods in general.

Few bugs i've noticed:

- Even if the add-on installation fails, the file still gets removed upon request. Requiring you to unzip the file again.
- Nothing shows up on the database except the mods I install via the Installation button, only those show up.
- Whenever I use the snapchat option, my entire Orbiter folder gets deleted. It doesn't even get sent to the Recycle Bin.
- Sometimes after installing an add-on, it is missing on the database. Meaning, I have to uninstall it manually.
- If I have an add-on folder that has another folder right after it that actually has the content (typical with some freshly downloaded add-ons), OAD ends up just importing the file without putting the files in the right directories.
- There is no warning for if a file is about to be overwritten or replaced. It'd be nice to have that.

I like the system you have in place e.g replacing .cfg with .oad when disabling the add-ons. This is a really great project :).
Glad you liked the program. Thanks for the feedback.

1- Added to TODO.
2- That means you don't have the default config file. When you install an add-on, the program will add it to the database.
3- Will review the source code and see.
4- It can't be missing on the database. If you can't see it on the installed add-ons list, that means one of its files is missing. If you removed a file, you need to add it to the ignored list.
5- I've noticed this bug as well. Added to TODO.
6- This will be a problem in the case of an imported snapshot if there is a lot of files.
 

clipper

Well-known member
Joined
Feb 27, 2018
Messages
256
Reaction score
388
Points
63
(O/T) I don't really use the Manager much as I rarely use addons in general, but I just wanted to say that I really love and appreciate the support and responsiveness you provide to the users of your software.
 

Abdullah Radwan

Addon Developer
Addon Developer
Joined
Aug 20, 2017
Messages
314
Reaction score
284
Points
78
Location
Cairo
(O/T) I don't really use the Manager much as I rarely use addons in general, but I just wanted to say that I really love and appreciate the support and responsiveness you provide to the users of your software.
Thanks for your kind words. This is just the basics of a successful programmer.
 

coussini

New member
Joined
Dec 6, 2008
Messages
14
Reaction score
0
Points
1
A little demonstration of my attempt to iron most of the inconveniences out. This video shows how to create a new Orbiter installation from scratch and have the add-on's managed by JSGME. I did clean up some of the add-on's file and folder structures. I deleted readme.txt files in the root folder, deleted thumbnails and other non-essential files and renamed the documentation folders so everything goes into /DOC and I made some add-on's myself to apply my personal configurations for Orbiter, D3D9, XRSound and IMFD. In just over six minutes, Orbiter is unzipped, modded, configured and unmodded back to Orbiter's initial state. Orbiter_ng.exe is only launched once.

Orbiter2016 managed by JSGME Demo - YouTube

Before taking the snapshot, I had to create a Sound folder in the root. That's unfortunate, but many add-ons will put files there.
MyChanges sets Parameters, Visual Effects, Debugging and Performance settings to Orbiter. Then the D3D9Client is installed, configured for either 16:10 or 16:9 (for YouTube recordings) and modded so it will not show Replay and Recording when replaying or recording at the bottom of the screen. Then XRSound is installed and set to my preferences (no music in external view). Then the other add-on's are installed. IMFD is set to my preferences as well (note the MJD default instead of GET).

Changes to files like Sol.cfg and Earth.cfg need to be done manually. And for the hi-res textures I will keep on using symlinks untill I have a better solution. Hope you like it. I will try OvGME now.


Hi Maryjn. Wich file do you pick in orbiter for your « my change files »... I am interresting about theses files relative to the Parameters, visual effects and vidéo tab. Thanks for your help.
 
Top