{ "info": { "author": "Arthur Moore", "author_email": "AMoore-pip@cd-net.net", "bugtrack_url": null, "classifiers": [ "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Topic :: Games/Entertainment" ], "description": "# mlox - the elder scrolls Mod Load Order eXpert\nmlox is a tool for analyzing and sorting your Morrowind plugin load order.\n\nVersion: 1.0\n\nCopyright 2014-2017 [MIT License](License.txt)\n* John Moonsugar\n* Dragon32\n* Arthur Moore\n\nmlox is a mini \"expert system\" for advising you on your set of plugins.\nUse mlox to check for plugin dependencies and conflicts, and to sort your plugins into an optimal load order.\n\n![mlox interface](https://sourceforge.net/p/mlox/screenshot/mlox_screen.png)\n\n# About\nmlox is designed to help people manage large collections of plugins for the popular Elder Scrolls games from Bethesda Softworks.\nThe program sorts plugins based on a very simple set of ordering rules that comprise a partial order over the set of plugins using a standard topological sort.\nIt also provides advice on plugin conflicts, missing pre-requisites, and general information of interest based on the user's particular set of plugins.\n\n# Features\n* Creates an optimal load order.\n* Warns about missing pre-requisites.\n* Warns about plugin conflicts.\n* Gives useful, but often overlooked information about installed mods.\n* Customizable via a rules file.\n* runs on Windows or Linux\n* can check someone else's load list from a file: \n `mlox.py -wf Morrowind.ini` \n `mlox.py -wf someones_load_order_posting.txt` \n or just paste the list of plugins into the Active plugins pane of the GUI. (mlox understands output of Wrye Mash and Reorder Mods++)\n\n**Note**: mlox does not tell you if you have missing Meshes or Textures, it is only a load order tool, and does not report problems with resources!\n\n# Downloading\nThe latest stable version of mlox can be found [here](https://github.com/mlox/mlox/releases/), and the source code can be found on [github][github].\n\nUnpack the mlox application archive in your Morrowind directory. You should see an mlox directory in the same directory as Morrowind.exe.\n\nIf Mlox does not run you may need the [Microsoft Visual C++ 2008 Redistributable Package (vcredist_x86.exe)](http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en).\n\nMlox versions 0.59 and higher automatically download the latest rules file.\nPlease do not edit this file!\nUsers can instead put their own additions in `mlox_user.txt`\n\n# Running\nWindows users can run the program by clicking on `mlox.exe`. Linux users can either click on `mlox.py` or type `python mlox.py` on a command line.\n\n**WARNING**: Mlox requires that it's directory is writable. Otherwise database updates will fail.\n\nmlox.py has 2 modes, GUI and command line. When executed with no command line switches it starts in GUI mode.\nFor information on specific commands use `mlox -h`.\n\n**Note**: On Windows Visa and later, if you installed Morrowind in the default location \"C:\\Program Files\\\\...\", you may need to turn off UAC to get mlox to recognize your activated plugins in Morrowind.ini.\n\n\n## Running mlox from source\n\nMlox is written using Python3, using a PyQt5 graphial interface.\nAs such, both Python3 and PyQt5 are required.\nSeveral other small libraries are also needed for full functionality.\n\n* Python3 Download link: https://www.python.org/downloads/\n* Once Python 3 is installed, run `pip install pipenv && pipenv install --system`\n* Run mlox by typing `python3 mlox.py`\n\n# Other Recommended Software\nIt is STRONGLY RECOMMENDED that you install Hrnchamd's MCP [\"Morrowind Code Patch!\"](http://www.nexusmods.com/morrowind/mods/19510)\nThe MCP makes it safer to change your load order in an existing savegame, amongst many other wonderful fixes it does.\n\nYou are also encouraged to use [Wrye Mash](http://wryemusings.com/Wrye%20Mash.html) to manage your plugins.\n\n# Customizing your Load Order\n\nmlox allows you to customize your load order by adding your own sorting rules to a file called `mlox_user.txt`, Just create an `mlox_user.txt` in `C:\\Users\\\\AppData\\Local\\mlox\\mlox`.\nThen, all you need to do to get your load order re-sorted correctly is press the update button in mlox.\n\nYou can add any of mlox's rules to `mlox_user.txt`, but for people that want to customize their load order, the **`[Order]`** rule is probably all that is needed.\nHere is a simple example:\n\nLet's say you want to make sure that mlox always puts plugin \"Foo.esp\" before \"Bar.esp\". Just create a simple text file called \"mlox_user.txt\" in your mlox directory (using Notepad or whatever) containing the following:\n\n [Order]\n Foo.esp\n Bar.esp\n\nFrom now on, when you press the mlox update button, mlox will make sure that this is the order for those two plugins. Note that the **`[Order]`** rules in mlox_user.txt (your personal rules) take precedence over the rules in mlox_base.txt.\n\nYou should also be aware that the **`[Order]`** rule only specifies relative order, so in the example above, it does not mean that Foo.esp must come _immediately_ before Bar.esp, only that Foo.esp must load _somewhere_ before Bar.esp.\n\n# Documentation\nThe complete documentation for mlox can be found in the Doucmentation directory.\n\n * [Mlox Usage Guide](Documentation/Using mlox.md) provides a guide to getting started and introduction to usage. **Important Reading!**\n * [Editing Guidelines](Documentation/Editing Guidelines.md) explains the basics of mlox rules, and how they should be used.\n * [Rules Guildelines](Documentation/Rule Guidelines.md) explains the syntax of the mlox rules, and how to write them yourself if you want to customize mlox.\n * [mlox_guts.txt](Documentation/mlox_guts.txt) describes mlox's inner workings and how it does its job.\n\n\n# Support\nIf you run into a problem with mlox, please open a support ticket [here][issues].\n\n* Usually when mlox fails it will pop up a window describing the error, please report the contents of this window when reporting a problem.\n* If mlox runs but gives unexpected results, please right-click in the \"Active Plugins\" pane on the left side and choose \"Debug\" from the popup menu. Attaching this to the support ticket will help solve the problem.\n* Please report all Windows usability problems, as several of the Mlox developers do not use Windows.\n* If the mlox GUI disappears upon startup, and you are running from source, you may be using an incompatible version of wxPython. Please use the version provided [here][wxpython]\n\n# Contribute to the mlox rule-base\nmlox can only succeed if you share your knowledge about plugin load order, conflicts, and pre-requisites!\nYour contributions will help other players that follow in your footsteps.\n\nYou can help contribute to mlox by sharing information about a mod [here][issues].\n\nThe mlox project welcomes all submissions of information for inclusion in the mlox rule-base, but the more information you can give when you make the submission, the more likely your submission will be used. Information that lacks detail or is of low quality will be given the lowest priority. Which means it may only get investigate for inclusion if time permits.\n\nSo, please try to include:\n\n * the Full name of the mod(s), the version number, and the author.\n * Good: '\"Herbalism\" 1.3 by Balor'\n * Bad: 'herbalism mod' (which one? there are a number of them!)\n * a link to the mod, if you have one.\n * the best explanation you can give\n * If it's a conflict, please explain what the actual conflict is.\n * If it's a load order, it would be great to say what the order affects.\n\n## Become a rule-base Editor\nIf you have solid knowledge of load order issues, and you'd like to be able to contribute to the rule-base by editing it directly, please submit a pull request on [github][github].\n\nEditors of the rule-base should read the [Editing Guidelines](Documentation/Editing Guidelines.md), which explain how the editing process works.\n\n## Note to mod Authors\nIt is our hope that the users of your mod will benefit from using mlox, and also that maybe mlox will help reduce mod conflicts, and support questions for your mod due to misconfiguration.\nThis is a grand goal, and there are some things we can do together to see it happen.\n\nThe first thing is versioning of your mod.\nIf mlox can tell what version of your mod the user is using, it can give more accurate advice.\nmlox can get the version of a plugin from its header description field (preferred), or from the plugin filename.\n\nSo, if the filename stays the same from version to version, then if the description field of the plugin contains a version string on a line by itself mlox will be able to use it.\nWrye Mash can report that version too, so it's just a generally useful thing to have in the description.\n\n> Example version string:\n>\n> Version: 0.57\n\n> Example verioned file name:\n>\n> Plugin_V1.0.esp\n\nThe next thing is teaching mlox about your mod.\nPlease see the section about [adding rules to mlox](#Contribute to the mlox rule-base) for how to submit a rule.\nThe more mlox knows, the more useful it is, and people will have fewer load order problems.\n\n\n[wxpython]: http://downloads.sourceforge.net/wxpython/wxPython2.8-win32-ansi-2.8.7.1-py25.exe\n[github]: https://github.com/mlox/mlox\n[issues]: https://github.com/mlox/mlox/issues", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mlox/mlox", "keywords": "Morrowind Modding", "license": "", "maintainer": "", "maintainer_email": "", "name": "mlox", "package_url": "https://pypi.org/project/mlox/", "platform": "", "project_url": "https://pypi.org/project/mlox/", "project_urls": { "Homepage": "https://github.com/mlox/mlox" }, "release_url": "https://pypi.org/project/mlox/1.0.3/", "requires_dist": null, "requires_python": ">=3.5", "summary": "A tool for analyzing and sorting your Morrowind plugin load order.", "version": "1.0.3" }, "last_serial": 5695676, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "546fa8f3b4dae72ff3eb62a629b0a5d0", "sha256": "54e70b8bc12bd1ebb2af0c4700bbf2a75238f2ac5111cc62c1f5d95aeb5e823f" }, "downloads": -1, "filename": "mlox-1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "546fa8f3b4dae72ff3eb62a629b0a5d0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 42975, "upload_time": "2019-08-11T17:50:59", "url": "https://files.pythonhosted.org/packages/9e/5f/acd184b62dcb8acfb2b54d1110adaf39f2b586c4a8e1e8d71f2fdd68ab49/mlox-1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5d37b896fbfaba51c0179c58e46bd8ec", "sha256": "6783517478a37e91d728698af2e883bf1246418171da109356c0d477599d046f" }, "downloads": -1, "filename": "mlox-1.0.tar.gz", "has_sig": false, "md5_digest": "5d37b896fbfaba51c0179c58e46bd8ec", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 36255, "upload_time": "2019-08-11T17:51:01", "url": "https://files.pythonhosted.org/packages/76/ca/b92f68285cb9207d589929985972fa84f62341179113793f357770f59bdb/mlox-1.0.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "4433edf3697d86d2b010cad2e35e1efe", "sha256": "16f33da9d4a71382d5dc8dc6255df7eecf28cae047328b8e7b0cb594a2696911" }, "downloads": -1, "filename": "mlox-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "4433edf3697d86d2b010cad2e35e1efe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 43086, "upload_time": "2019-08-18T20:12:52", "url": "https://files.pythonhosted.org/packages/9f/a9/74a1ce7c2e01ea55bafc76112df150dde94064686a783dd86d42ea1c8c2e/mlox-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ec0b158b59a618c41412a3d0cc65f4a4", "sha256": "95a4b58ea1b168a82cfae86a2d770f778f40f3cc0ca27e3dbb5c2139e5feaf90" }, "downloads": -1, "filename": "mlox-1.0.3.tar.gz", "has_sig": false, "md5_digest": "ec0b158b59a618c41412a3d0cc65f4a4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 36288, "upload_time": "2019-08-18T20:12:45", "url": "https://files.pythonhosted.org/packages/a9/cb/db6d9936cd283401f6182ded8de9bd5dab34b4676d97729c301f23e9a5ae/mlox-1.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4433edf3697d86d2b010cad2e35e1efe", "sha256": "16f33da9d4a71382d5dc8dc6255df7eecf28cae047328b8e7b0cb594a2696911" }, "downloads": -1, "filename": "mlox-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "4433edf3697d86d2b010cad2e35e1efe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 43086, "upload_time": "2019-08-18T20:12:52", "url": "https://files.pythonhosted.org/packages/9f/a9/74a1ce7c2e01ea55bafc76112df150dde94064686a783dd86d42ea1c8c2e/mlox-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ec0b158b59a618c41412a3d0cc65f4a4", "sha256": "95a4b58ea1b168a82cfae86a2d770f778f40f3cc0ca27e3dbb5c2139e5feaf90" }, "downloads": -1, "filename": "mlox-1.0.3.tar.gz", "has_sig": false, "md5_digest": "ec0b158b59a618c41412a3d0cc65f4a4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 36288, "upload_time": "2019-08-18T20:12:45", "url": "https://files.pythonhosted.org/packages/a9/cb/db6d9936cd283401f6182ded8de9bd5dab34b4676d97729c301f23e9a5ae/mlox-1.0.3.tar.gz" } ] }