Jump to content

Recommended Posts

View File

Description:

Meant to be associated with files like NiFs, ESPs, ESMs and the like. Actually every file type you want.

it was mainly created to fix some flaws between NiFSkope and MO, where associating MO+NiFSkope with NiFs would never allow you to load a file from a mod that you installed in MO, as access to those directories is locked for enabled mods when MO is started and the called program is handled by MO.

To accomplish this, the program emulates the virtual path, by replacing MOs mod folder with Skyrims data path.

Example:

- Source file = C:\MO\Mods\APPS\Meshes\Architecture\APPS\FirePlace.NiF

- Fixed path = C:\Steam\SteamApps\Common\Skyrim\Data\Meshes\Architecture\APPS\FirePlace.NiF

As a result this only works for mods, that are installed in MO.

if the source file is not part of a mod that's installed in MO, then path emulation is not available.

And by design, this programs let's you choose from a multiple of programs (if configured) with a simple double click on a file, this program is associated with.

 

 

Other functions:

 

The program can set the working folder for the called application.

This can be handy, if the program uses it's working folder when browsing for files.

This does NOT override the default behaviour for programs that call the "Open File Dialogue" with standard settings as then Windows will use the user documents folder as starting folder.

The following folders can be assigned as working directory:

- the source folder of the source file,

- the folder the called program is installed in,

- Skyrims Data folder,

- the emulated path,

- Auto Mode.

if the assigned working directory is not available/could not be found, the program will use Auto Mode.

if anything else than the numbers 1 to 4 are entered, the entered value will be threated as path.

The AutoMode will choose in the following order, based on what's available:

emulated path, folder of the source file, Skyrims Data folder, the install folder of the called program.

 

Side note:

Some program need their install folder to be the working directory, as else they'll not be able to find their files.

This can be done by configuring the program accordingly, so the use of this folder is forced for specific programs.

See the next section for details.

 

if the source file can not be found, the program will try to keep as many valid data as possible, whereby this data is split as followed:

- file w/o extension,

- full path (i may include checking each folder in the full path, but no promisses),

- drive.

This way the browse dialogue will start with the available valid data, instead of the default directory.

Meaning: You start browsing from the available folder and/or drive, which should save you some time.

 

Convert to 8.3 convention for path and file names.

This is available for the source path & file, the path and executable for available programs and MOs path and executable.

As for the source path and file, this bypasses a bug in MO and is only applied to the file name itself, if it contains a space, so the original (long) file name is preserved.

As for the other options to convert to 8.3, this can be used for programs that have problems with long path and/or file names or with to many sub directories and to shorten the commandline.

 

 

Configuration:

 

This program uses an iNi file for configuring programs, while 2 Skyrim programs are hardcoded and by this don't need to be added to the iNi.

Those programs are:

- Creation Kit

- Archive.EXE

The listet Papyrus Compiler Wrapper is still a W.i.P. and will no longer be displayed in later version, if the APPS PapCompWrapper is not installed. So this entry can be ignored as it's of no use in combination with the vanilla Papyrus compiler.

An iNi file, including a comment section with explanations at it's beginning, is part of the download.

if the iNi file got lost or screwed up, here the template for V0.0.0.6 of this program:

 

;[...]    : The section is the name of the program, that'll be displayed in the list.;Path	 : Must contain only the full path to the programs executable.;EXE	  : Must contain only the executable name of the program, including extension.;FileType : The files types (files extensions) the program supports.;WorkDir  : The working directory for the program. Can have the following values:;		   1 = if an file is given, the directorie of this file will be the WorkDir.;		   2 = The folder of the program will be the WorkDir.;		   3 = Uses Skyrims data folder as WorkDir.;		   4 = The emulated path will be the WorkDir, if applicable. if set to this, but MO is not used, AutoMode will take place.;		   if you leave this empty, the programm will try to determine itself, but programs that need their dir as WorkDir may not work.;		   The order for AutoMode is: EmuPath, SourcePath, SkyimData, ProgPath.;		   if filled with anything else, then the listed number, the value will be interpreted fixed as path.;PathEmu  : Bool value (0 or 1) that disables (0) or enables (1) the usage of the Path Emulation.;		   in case of MO, MOSKTL will try to emulate the vanilla path, that will be available thru MO for the given file.;		   The path will have to have a valid vanilla path structure, Like Meshes\*, Textures\* aso inside it.;		   So everything after a vanilla folder will be appended to <SkyrimPath>\Data\, like <SkyrimPath>\Data\Meshes\*.;Use83Path:    Converts the programs path and executable into the 8.3 convention.;		   This might bypass additional errors in MOs parameter handling and can be used;		   for programs that don't work correctly with long paths and filenames or to many sub directories and;		   it's usefull (in tandem with Use83Src & USe83MO) to shorten the commandline.;The order the programs are listed here, is the order, the programs will be displayed in the list.;The only exception are programs that are registered for a filetype and this type of file is given.;As then those programs will be listed first, but in case of multiple still in the order they appear here.;Entries in the [MOTL] block are settings to control this program.;Use83Src  : Converts the source path and maybe the file name into the 8.3 convention.;		    Meant to bypass an error in MO, where MO removes quotes from paths that contain spaces, so those files could not be loaded.;		    The name of the source file will only be converted, if it has a space in it's name. This should help preserve long file names.;		    Boolean value: 0 = off, 1 = on;Use83Progs: Same as Use83Src, but converts the path and executable name of MO and launched programs.;		    Meant to avoid possible other errors and to shorten the command line.;Minimize  : Enables the minimize checkbox by default, so this program minimizes after laucnhing a tool, instead of closing itself.;		    if minimizing is your prefered method, you don't have to click the checkbox everytime as long as this option enabled.;		    Boolean value: 0 = off, 1 = on[MOTL]Use83Src=0Use83Progs=0Minimize=0[NiFSkope]Path=H:\Patches\The Elder Scrolls V - Skyrim\Mod Organizer\Tools\NiFSkopeEXE=NiFSkope.EXEFileType=NiFWorkDir=4PathEmu=1[TES5Edit]Path=H:\Patches\The Elder Scrolls V - Skyrim\Mod Organizer\Tools\TES5EditEXE=TES5Edit.EXEFileType=ESP, ESMWorkDir=2PathEmu=1[TESVTranslator]Path=h:\Patches\The Elder Scrolls V - Skyrim\Mod Organizer\Tools\TESV TranslatorEXE=TESVTranslator.EXEFileType=ESP, ESM, STRiNGS, iLSTRiNGS, DLSTRiNGSWorkDir=4PathEmu=1[SaveTool]Path=h:\Patches\The Elder Scrolls V - Skyrim\Mod Organizer\Tools\SaveToolEXE=SaveTool.EXEFileType=ESS, SKSEWorkDir=1PathEmu=0[BSAopt]Path=h:\Patches\The Elder Scrolls IV - Oblivion\BSAopt V2.0.0EXE=BSAopt x64.EXEFileType=BSAWorkDir=1PathEmu=0[Test]Path=C:\Test 1, 2, 3\EXE=Test_1.EXEFileType=WorkDir=PathEmu=

 

 

 

 

The GUi:

 

Programs that are configured in this programs iNi will be displayed in the in the list of available programs in the same order, they are listet in the iNi.

So if you want to change the order in the list of available programs, just move the iNi blocks accordingly.

The only exception are programs that are registered for a specific file type and that match the file type of the source file.

Those will always be displayed on top (with a ">" as prefix), but still in the same order, they have in the iNi.

 

The open file dialogue will use the last opened path as source folder or fallback to MOs mod folder, Skyrims Data folder or this programs install folder - in this order.

 

The LOG window is usually of no big use, unless you notice something is missing, like a registered program.

Programs that can not be found, will be displayed in the log window and not added to the list of available programs, because ... uhm ... they're not available.

 

The "Source file" text box is locked and can not be altered. This may change later.

 

 

To-Do:

 

- add support for multiple files [canceled - will not be included]

- add Drag & Drop support

- make the source file text box editable

- check if the source path is an installed MO mod and check if this mod is enabled in MO and offer activating it if needed, as else EmuPath will not work

- create context menu entries for this program and all programs managed by it, incl. MO versions

- when opening a file that's not registered with this program, try to get the associated program and offer to add it to the iNi, followed by registering itself for this filetype

- if only a file was handed over, add current dir as path (for all command prompt lovers)

- add wildcard support for file types so HexEditors and such are always offered

- minimize to tray

- other stuff, like fixes and suggestions

 

 

installation:

 

Simply unpack into MOs install folder.

 

 

Updating from earlier versions:

 

Unpack into MOs install folder, overwrite and you're good to go.

 

if you already have a custom ini from before V0.0.0.6, those are the changes for manual adding:

- comment section

- MOTL settings, right below the comments

A spoiler inside the configuration spoiler shows the iNi, so you can copy & paste the new entries.

 

 

 

Note:

The program can work without MO (disabling its MO support), but then looses it's main functionality it was created for.

You'll still have the comfort of calling any program (that's configured in this programs iNi) available with a simple double click on a file, this program is associated with.

 

 

Feel free to post bug reports, suggestions or questions.

 

 

©CG!

A.P.P.S. Dev Team


  • Submitter
  • Submitted
    03/22/2015
  • Category
  • Requires
  • Special Edition Compatible

 

Link to comment

So what exactly is the issue with NifSkope + MO?

 

I've never actually used MO for NifSkope, I just wrote a short program that creates a registry file (.reg) that I can execute that will update NifSkopes registry value for  "texture folders" to point to all of my activated mod folders. This can be easily generated from the modlist.txt file for each profile, then when i open any nif with Nifskope it's textured just fine.

 

Your tool could be helpful for some of the other things though, like ESMs and ESPs I guess.

Link to comment

Your solution was the first i tried and was satisfied with it, until i saved into new files and had to navigate to the new target folder all the time.
My solution let's MO handle new files, so they are moved into the overwrite folder as long as i save them somewhere in Skyrims data folder.
From there i can easily move them to the mod they belong to.

Not to mention, that my solution needs no edits to the registry everytime i add or remove a mod. All it needs to have mod textures show up in NiFSkope, is activate those mods in MO.

in short: i like to think, that i thought up a solution that does not add to many additional steps, to the already needed ones.

This will ofc not be a solution that fits everyones taste, but that's life and this program was not created as a tool for everyone as it targets modders, especially those that have a workflow similar to mine ... but that's just natural.
And as you mentioned: it can be used for other files as well, with or without the advantages of MOs virtualization.

 

it's as with mods: They are created for the author in the first placed and then transformed to a degree for a public release.
Hence why modders are open for suggestions and so am i.

Link to comment

MO is hadcoded -> the program uses the MO installation from the directory, you installed it in.

This prog can be started multiple times and if you change the EXE name, then you can have multiple installations in the same (MO) folder, as the iNis name has to match the EXE name. And yes, this is on purpose as it makes instancing easier, which is handy for advanced users.
Skyrim is read from MOs iNi, or (if there's no iNi) from the registry.

 

As MO can not manage multiple games but needs muliple installations (1 for each supported game), i didn't see a reason to not link it this hard, but if you got any idea on how to make it more dynamic (best with as less user input as possible), then feel free to make suggestions.

 

if all fails, then i'll let the user choose a different Skyrim install via iNi, but this won't support Path Emulation then, unless it's linked with the MO the program uses.

if you only want the button for Skyrim to point to a different installation (because you use one installation for modding and one for playing), then this would be easy enough to do.

Link to comment

No, because it's not sufficiently geared towards the CK yet, so the advantage of using this tool in combination with the CK is so minimal, it's almost non-existing.

May change at a later time, after we figured out what's actually needed and how to accomplish it.

Link to comment
  • 3 weeks later...

i was just made aware of a bug, that's caused by MO:
if an application is started thru MO and the source has spaces in it's path and/or filename, then the application will fail loading the given source, as MO removes the needed quotes from the source.

 

There's only one thing i can do on my end, so this is my suggestion:

  1. Convert the source path to 8.3 and leave the file name intact, as long as it does not contain spaces.
  2. But if the file name contains spaces i could either go with rejecting it or show a warning that the file might be saved under a new name or that it's replaced with its 8.3 version, loosing the original filename in the process.

i leave this choice to the users.

Link to comment

So a mod's file(s) may be unusable with a space? If I made a mod, and in it was a folder called "sex slave", and I altered it's contents with nifskope through MO+MOSTL, it would be saved without the space in-between, or even renamed? Or won't load it at all? Is that what you mean?

Link to comment

Erm... no.

Put simple: if a path name or file name is >8 characters and/or a file extension >3 characters, then those are long names.
And if those long names contain spaces, the whole path and/or file needs to be put between 2 quotes.

MO removes those quotes  from the last parameter (which is the selected source file, in case of this program) that's handed over to it, so most programs will not be able to load the given file if the given path and/or file name contain spaces.

Parsing long file names is usually done by finding the next quote (if there's a first one) or the next space in the commandline.

Means: Everything between the first and last found quote is the given source file, or everything up to the found space is the filename.

So if both quotes are removed, the program will assume that the parameter (filename) ends at the position of the next found space. i guess you can see the problem in this.

Link to comment

Looks like the 8.3 trick did not bypass the MO bug at all, as MOs hook does not know what to do with the new path (and file) name.
Guess i got to post this on MOs bug tracker, as i'm out of clues about what i could do on my end.

 

i reuploaded the version, with the 8.3 iNi setting disabled.
if you don't want to download again, then please disable the Use83Src option in the iNi file yourself.

 

 

Help and brainstorming for a solution is highly appriciated.

Link to comment
  • 2 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use