Jump to content

Recommended Posts


Author: Reniastyc(天道玄虚)

Current Version: 1.02E

 

If you find something wrong, please tell me and then I can solve it.

 

2018-09-04--1.02E

--New Preset Rule: Add a attribute [auto] to leave out a void attribute.

--New Preset Rule: Add a attribute [condition] to leave out a attribute when the selected attribute is void.

--Update the preset file used the new feature.

--Add a New Preset to set win10 visual element manifest.

 

2018-08-23--1.02D

--Interactive optimization: Optimized the execution logic of some operations and adjusted some of the button functions.
--New page: Add a page about the basic usage of the program.
--Adjusting the terms: modified some terms and English translations to make it more relevant.

 

2018-08-16--1.02C

--Optimization for UI: If the basic path has been set, when you execute save dialog or open dialog, the initiate directry will be the same.

--New Preinstall rule: You can set the default file name for a preinstall file by using the attribute [file] in the file header. e.g. <xmlbuilder file="ModuleConfig">

--BugFix: It may not get the full xml file if you don not change the main tab into Origin Structure tab.

 

2018-08-15--1.02B

--Optimization for UI: Adjust the layout.

--New function: File association added.

--Optimization: Adjust the loading for multi-language preinstall files.

 

2018-08-14--1.02A

--New Preinstall rule: You can make a multi-language preinstall file.

 

2018-08-10--1.01D

--BugFix: The Basic Path function may go wrong sometimes.

 

2018-08-09--1.01C

--BugFix: when the flag is "file" or "path", xml files may not change.

--New Function: you can choose a Basic Path, the file path will be a relative path. e.g. When the Basic path = "D:\Test", the File Path "D:\Test\AFile.esp" will be "AFile.esp".

 

2018-08-06--1.01B

--New Preinstall rule: if the flag is "option", the tag should also contain the label of each option. e.g. <type flag="option:SelectAny|SelectOnlyOne" tag="Select Type|Select Any|Select Only One"/>

--BugFix: Attribute Index may go wrong at some time.

 

For Chinese, here: http://www.9damao.com/thread-133026-1-1.html

 

Features

Ubiquitous--You can deal with any type of xml files with a suitable preinstall file.

Multi-language--You can change UI language with translation file.

 

How to create a module config by this app?

165678960_QQ20180904055827.png.c3c13811badf611b7303b759d33a5585.png

186256947_QQ20180904060549.png.2e4512c17056def3ed0746a34eb4457e.png

1073625438_QQ20180904061634.png.525feaeca0176746c3944b894ac14692.png

2065009834_QQ20180904062240.png.58fa637e6e05fd6ef69fb51652e99ba2.png

 

 

UI (ver1.02D)

2076762722_QQ20180823231538.thumb.png.86de4485d2e36f75cf2d18f6c7e0c26e.png

 

If I use this to read the fomod config file of Module "Know Your Enemy", I can get this:

1804637328_QQ20180730150519.thumb.png.c0840d86e5910396dbeade2baafaa9e0.png

 

Then I shall choose a PreInstall File:

881494501_QQ20180730152544.thumb.png.e9ce2a49bb666d94e8d74c8379fde62b.png

 

And then, I get this: (The Tab turned into PreInstall Struct)

1605647556_QQ20180730152639.thumb.png.50709333e790929cec1107118697ab3b.png

When I select any Item, I can change the details.

821905571_QQ20180730152821.thumb.png.0cc8c1f480e84aadf40affb72828c690.png

If I want to create a new module, I will click New in the Left Menu, and then Add Child.

 

If you want to Add A New FilePlugin, you should Choose A FileGroup, not a FilePlugin.

 

Notice: if you select a file or a path with the Button"...", remember change it into Relative path.

e.g. D:\Module\Fomod\ModConfig.xml --> Fomod\ModConfig.xml

 

How to write a translate file?

 

That is easy.

Translate Files are located in Data\Languages\

You can see Four Files named: Default, English, 简体中文, 繁體中文. Do not change the file named default.

Open the English.txt and you will see this.

 

$New    New
$Open    Open
$Save    Save
$Exit    Exit
$Attrib    Attribute
$Value    Value
$Lang    Language
$PreIn    PreInstall
$Item    Item
$AddCI    Add Child
$ClrCI    Clr Child
$DelTI    Del Item
$NewAt    New Attrib
$OStru    Origin Struct
$PStru    Preinstall Struct
$PFile    Preinstall File

 

the structure is : $Word[tab, #9]Word.

This is a tab, not serveral spaces.

Also you can translate the english word and then save the file as another name.

If you want to translate the application, just create a new translate file. You can send the file to me by e-mail.

elmagnifico@vip.qq.com

And you can also upload the translate file as you like. There is no need to tell me that you have translated my application.

 

If you have any problem with this, you can send me an e-mail, or post comments here.

I'm not sure whether you can send an e-mail to QQ mail, but I don't have other e-mail.

And you can post comments here.

 

How to create Preinstall File?
Thas more difficult. I'm sorry but I don't know how to describe in English.
If only you can read Chinese.
Add a English translation, but I may not explaim how they work clearly.

================================================================================
Preinstall file is also a xml file, and the first line or file header must be <xmlbuilder>.
To distinguish the aim object, the first child item must have the same name and attributes as the aim xml files do. For example, if we want to deal with mod config file, the header of it is:
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://qconsulting.ca/fo3/ModConfig5.0.xsd">
Therefore, the preinstall file should be:
<xmlbuilder>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://qconsulting.ca/fo3/ModConfig5.0.xsd"/>
 ...
</xmlbuilder>


After the first one, all of the child items should have the name of <structure>, and each of them will represent a level of structure.
There are two available attributes: folder, unique.
[folder] the value of it should be the where the child items are. e.g. In the fomod config, first level of structure: folder="installSteps", and the second level of structure: folder="installStep\optionalFileGroups"
[unique] You can use this only when the item should be unique. When exists, the value should be "true".

The child items of [structure] verify the way to show attributes, or to create a folder.
If the child item has attributes, it's a statement for an attribute.
If the child item has no attribute, it's a statement for a folder.

There are serveral parameters: flag, tag, default, text.

[flag] verify the type of the attribute. The value can be:
  option: [option:A|B|C] In this case, the tag should be [optionName|AName|BName|CName]
--e.g.<type flag="option:SelectAny|SelectOnlyOne" tag="Select Type|Select Any|Select Only One"/>

  paragraph
  text
  file (point to an exact file)
  path (point to a folder)
  hide (the attribute will be hide. In this case, you should give it a default value)
  name (the attribute will be the item's name)

[tag] verify the label showed with the value. If you want to translate a preinstall file, you should translate the value of tag.
[default] declare the default value of the attribute.
[text] is a special parameter. When the attribute points to the item's text, you should set it to "true" and let the name be "text".

<moduleName>
        <text flag="name" tag="" text="true" default="New Module"/>
</moduleName>

================================================================================

 

Multi-language Preinstall File:

=====================================

 

For attributes named [tag] and [default], if the value starts with '$', then the app will search for the translation of current language. If there is no correct translation, the first one will be chosen.

 

Multi-language statement:
e.g. the statement for fomod config could be:
    <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://qconsulting.ca/fo3/ModConfig5.0.xsd">
        <language name="English">
            <string name="$NewMod" value="New Module"/>
            <string name="$NewStep" value="New InstallStep"/>
            <string name="$NewGroup" value="New FileGroup"/>
            <string name="$NewPlugin" value="New FilePlugin"/>
            <string name="$Condition" value="Condition"/>
            <string name="$GroupOption" value="Select Type|Select Any|Select Only One"/>
            <string name="$Description" value="Description"/>
            <string name="$PluginImage" value="Plugin Image"/>
            <string name="$SourFile" value="Source File"/>
            <string name="$SourPath" value="Source Path"/>
            <string name="$DestPath" value="Destination"/>
            <string name="$PluginOption" value="Plugin Type|Required|Recommended|Optional"/>
        </language>
        <language name="简体中文">
            <string name="$NewMod" value="新模组"/>
            <string name="$NewStep" value="新步骤"/>
            <string name="$NewGroup" value="新组别"/>
            <string name="$NewPlugin" value="新选项"/>
            <string name="$Condition" value="条件"/>
            <string name="$GroupOption" value="类型|任意选择|唯一选择"/>
            <string name="$Description" value="描述"/>
            <string name="$PluginImage" value="选项图片"/>
            <string name="$SourFile" value="源文件"/>
            <string name="$SourPath" value="源路径"/>
            <string name="$DestPath" value="目标路径"/>
            <string name="$PluginOption" value="选项类型|必需|推荐|可选"/>
        </language>
        <language name="繁體中文">
            <string name="$NewMod" value="新模組"/>
            <string name="$NewStep" value="新步驟"/>
            <string name="$NewGroup" value="新組別"/>
            <string name="$NewPlugin" value="新選項"/>
            <string name="$Condition" value="條件"/>
            <string name="$GroupOption" value="類型|任意選擇|唯壹選擇"/>
            <string name="$Description" value="描述"/>
            <string name="$PluginImage" value="選項圖片"/>
            <string name="$SourFile" value="源文件"/>
            <string name="$SourPath" value="源路徑"/>
            <string name="$DestPath" value="目標路徑"/>
            <string name="$PluginOption" value="選項類型|必需|推薦|可選"/>
        </language>
    </config>

=====================================


================================================================================
预设模板文件同样是一个xml文件,必须含有名称为【xmlbuilder】的文件头。
为识别预设模板作用的对象,第一个子项应与对象文件的文件头有着相同的名称和属性。例如fomod config文件的文件头:
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://qconsulting.ca/fo3/ModConfig5.0.xsd">
因此,作用于fomod config文件的预设模板应:
<xmlbuilder>
    <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://qconsulting.ca/fo3/ModConfig5.0.xsd"/>
    ...
</xmlbuilder>

第二个子项目之后,子项目名称均为【structure】,分别代表每一级项目的模板结构,可以包含两项属性:folder,unique。
【folder】的值应为下一级子项所在的目录,例如fomod config中,第一级的【folder】应等于:installSteps
而第二级则为:installStep\optionalFileGroups
【unique】仅在该项结构仅能唯一存在时声明,其值仅仅需要为true。

【structure】的子项目决定解读规则,对每一个子项解释如下:
若子项有属性,则该项为属性声明,即对应于原本属于父项目的属性。其名称与父项目属性名相同,属性决定解读方式。
若子项没有属性,则该项为项目目录结构,对应于父项目所包含的目录。
属性声明中,需要定义以下参数:
flag:决定属性的类别,包括:
【】选项:option:A|B|C(A、B、C为具体选项名)
——1.01B:当属性声明的flag标识为option时,tag应分别包含标签和选项标签,并以“|”分割,例如:<type flag="option:SelectAny|SelectOnlyOne" tag="Select Type|Select Any|Select Only One"/>
【】文段:paragraph
【】文本:text
【】文件:file
【】路径:path
【】隐藏:hide(不会被显示)
【】名字:name(拥有该标识的属性,其值为项目名,覆盖之前的指定,原则上不应多次指定)
tag:决定属性的显示标签,当希望翻译预设文件时,应翻译此项。
default:决定属性默认值,当新建属性时默认设定的值,隐藏属性应指定默认值。
text:当该项属性对应于项目文本时,应设定为true,同时该条属性声明的名称应为text。例如:
对于moduleName这一项,需要的值为项目文本,则声明应写作:
<moduleName>
        <text flag="name" tag="" text="true" default="New Module"/>
</moduleName>
================================================================================



View File

 

Link to comment

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