×
Меню
Индекс

Jobasha - TES3 leveled list merging and deleveling tool

 
Консольная утилита для всякого разного.
https://www.nexusmods.com/morrowind/mods/52707
 

Jobasha will perfectly organize all your lists in his library. It is a command line tool for leveled list merging, deleveling and comparison.
 
Description:
Jobasha will perfectly organize all your lists in his library. It is a command line tool for leveled list merging, deleveling and comparison.
 
Features:
 
    Merge leveled lists
    Delete subrecords from merged leveled lists
    Delevel subrecords
    Spoiler:  Show
        By default all lists are deleveled to level 1 with --delev flag(short -d).
        You may set another level to delevel to with --delev-to flag(short -t):
            jobasha -dt 5 to delevel everything higher than level 5 to level 5.
        You may set different levels to delevel to for creatures and items.
        You may opt out from deleveling either creatures or items:
            jobasha --delev --delev-no-items to delevel only creatures.
        You may place deleveled list into a separate output plugin.
    Create multipatch
    Compare leveled lists between plugins
    Process both Morrowind.ini and openmw.cfg
    Show detailed information
 
 
Usage:
 
    Most basic usage: jobasha to merge leveled lists
    Spoiler:  Show
 
    The program is flexible and allows complicated scenarios, though basic usage is simple:
 
    1. To provide non-default game configuration file:
 
    jobasha -c C:\another\profile\openmw.cfg
 
    2. To delevel subrecords to level 1 in addition to merging leveled lists:
 
    jobasha -d
 
    3. To delevel subrecords to level 5 in addition to merging leveled lists:
 
    jobasha -dt 5
 
    4. Almost everything may be done with command-line arguments, though settings file is the better way for advanced usage:
 
    To create settings file: jobasha --settings-write
 
    To use it: jobasha
    Type command jobasha -h for brief help
    Spoiler:  Show
 
    Jobasha - TES3 leveled list tool
 
    Usage: jobasha [OPTIONS]
 
    Options:
    -c, --config <PATH>Path to the game configuration file
    -o, --output <PATH>Name of the output plugin
    -O, --output-dir <PATH> Name of the output plugin directory
    --dateAdd date to the output plugin name
    --dry-runDo not write output plugin
    -l, --log <PATH>Name of the log file
    -L, --no-log Do not write log
    -s, --settings <PATH> Name of the program settings file
    --settings-write Write default program settings file and exit
    --settings-comments Add comments to program settings file
    --no-backup Do not make backups
    --ignore-errorsIgnore non-critical errors
    -?, --help-option <OPTION> Print help for the specific option
    -h, --helpPrint help (see more with '--help')
    -V, --versionPrint version
 
    Filters:
    -a, --all-listsPlace all leveled lists into the output plugin
    -k, --skip-last <0> Do not process last <N> plugins
    -K, --skip <PLUGIN(S)> Do not process these plugins
    --no-skip-defaultDo not skip plugins defined by default
    --skip-unexpected-tags Skip plugins that contain unexpected record types
    --no-skip-unexpected-tags-default Do not skip plugins that contain known unexpected record types
    --skip-creatures Do not process creature leveled lists
    --skip-items Do not process item leveled lists
 
    Subrecord deletion:
    -X, --no-deleteDo not delete subrecords from leveled lists
    -x, --extended-deleteEnable extended delete mode
    -A, --always-delete <PLUGIN(S)> List of plugins to delete subrecords
    -N, --never-delete <PLUGIN(S)>Do not delete subrecords from these plugins
    --threshold-creatures <67>Threshold for % of deleted/initial creatures per list
    --threshold-items <49> Threshold for % of deleted/initial items per list
    -T, --no-threshold-warningsDo not show threshold warnings
 
    Delev:
    -d, --delevDelevel subrecords mode
    -t, --delev-to <1> Set level to delevel subrecords to
    --delev-creatures-to <LVL> Set level to delevel creature subrecords to
    --delev-items-to <LVL>Set level to delevel item subrecords to
    -D, --delev-distinctPlace deleveled lists into the additional output plugin
    --delev-output <PATH> Name of the distinct delev output plugin
    -r, --delev-random Delevel to a random level between original and target levels
    -g, --delev-segment <0>Set level to segment subrecords for different delev rules
    --delev-creatures-segment <0> Set level to segment creature subrecords for different delev rules
    --delev-items-segment <0>Set level to segment item subrecords for different delev rules
    -G, --delev-segment-progressive Make multiple equal delev segments after the first one
    --delev-segment-ratio <50> Set minimal level to delev to for the segment via % ratio
 
    Delev filters:
    --delev-skip-creatures Do not delevel creature subrecords
    -I, --delev-skip-itemsDo not delevel item subrecords
    --delev-skip-list <LIST(S)>Do not delevel these lists
    --delev-no-skip-list <LIST(S)>Delevel these lists even if they match --delev-skip-list
    --delev-skip-subrecord <SUBRECORD(S)> Do not delevel these subrecords
    --delev-no-skip-subrecord <SUBRECORD(S)> Delevel these subrecords even if they match --delev-skip-subrecord
 
    Compare:
    --no-compare Do not compare plugins
    -C, --compare-only <PATH> Do not merge anything, only compare plugins [aliases: compare]
    -W, --compare-with <PATH> Plugin to compare output plugin with [aliases: with]
    --compare-delev-with <PATH> Plugin to compare delev output plugin with
    --compare-common Compare common records only [aliases: common]
 
    Multipatch:
    -P, --no-multipatchDo not make multipatch
    --cellnames Merge cell names
    --fogbug Adjust zero fog density
    --summonsMark known summons as persistent
    --interdependent-flags Do not treat flags as lists [aliases: if]
    --verbose-atmosphere-data Do not hide unchanged atmosphere data elements [aliases: vad]
    --ignore-secondary-fog-densityDo not sync secondary fog density with primary fog density [aliases: isfd]
    --keep-redundant-values Do not make output slightly smaller [aliases: krv]
    --plus-before-minus Reverse list changes order [aliases: pbm]
    --destination-similarity <1024> Set travel destination similarity threshold [aliases: ds]
 
    Display output:
    -v, --verbose... Show more information
    -q, --quiet Do not show anything
    -u, --debug... Show debug information
    -B, --progress Show plugins reading progress
    -b, --progress-barShow plugins reading progress bar [aliases: bar]
    -p, --color Show colored output [aliases: pretty]
    -y, --no-press-enter-to-exit Do not pause at the end
    -Y, --press-enter-to-exit Pause at the end with "Press enter to exit..."
    -S, --no-summary Do not show summary
 
    Type command jobasha --help for extended help
    Type command jobasha -? <OPTION> to get extended help for a specific option
    Example display output
    Spoiler:  Show
 
    $./jobasha --color --delev
    Log is being written into "/home/alvazir/__OMW/jobasha.log"
    Found game configuration file "/home/alvazir/.config/openmw/openmw.cfg"
    Plugin "MergedLeveledLists - 2023-11-13.esp" will be skipped, because it's name matches output plugin name pattern "mergedleveledlists - "
    555 subrecords from 143 leveled lists were deleted, add -v or check log for details
    97 merged leveled lists were identical to last loaded lists hence not placed into the output plugin, add -vv or check log for details
    6813 subrecords from 925 leveled lists were deleveled, add -vvv or check log for details
    Plugin "MergedLeveledLists - 2023-11-18.esp" was written to "MergedLeveledLists - 2023-11-18.esp"
    Performance: 1.891s duration, 19 plugins(420917 records) read at 10/s(229701/s)
    Lists stats: 6329 total, 5842 unique, 988 placed, 14 masters
    Merge stats: 341 merged, 210 untouched, 131 placed, 555 subrecords deleted
    Delev stats: 925 deleveled, 925 placed, 6813 subrecords deleveled
 
    Place "MergedLeveledLists - 2023-11-18.esp" last in load order and activate
 
Changelog:
Spoiler:  Show
 
Files:
Download file contains executables for all platforms I've decided to target(tell me if you need another platform):
Spoiler:  Show
 
System requirements:
 
    OS: non-ancient(10-15 years old or younger): Linux kernel 3.2+, Android 4.4(KitKat)+, Windows 7+, macOS 12.3(Monterey)+.
    Memory: ~5x the size of the largest plugin(1GB should be enough for everything), e.g. ~350MB for Morrowind.esm(77MB), ~850MB for TR_Mainland.esm from Tamriel Rebuilt v23.10(167MB).
    Morrowind engine MO2(Mod Organizer) users need ModOrganizer-to-OpenMW to generate openmw.cfg.