Daggerfall Unity

File information

Last updated

Original upload

Created by

alexFalconson

Uploaded by

alexFalconson

Virus scan

Safe to use

Documentation

Readme

View as plain text

The Elder Scrolls II: Daggerfall (Unity) 0.14.5

Name: Expanded Info
Version: 0.7
Date: 02/02/2023
Category: User Interface
Author: Alex Falconson

1. Description
2. Installation
3. Uninstallation
4. Save Games
5. Conflicts
6. Bugs
7. For mod developers - How the mod works
8. For mod developers - How to write your own description files
9. Distribution
10. Changelog
11. Credits

===============
1. DESCRIPTION
===============

Expanded Info changes the vanilla message box appearing upon clicking any item in the "INFO" mode to a bigger, BG-like pop-up window.

================
2. INSTALLATION
================

Either install using Vortex Mod Manager or install manually.
To install manually, copy the contents of StreamingAssets folder in this archive to the Daggerfall Unity "StreamingAssets" folder.

==================
3. UNINSTALLATION
==================

Remove the following files:
- "expanded info.dfmod" from Mods folder;
- "ExpandedInfo-Base.json" from Text folder;
- this readme file, "Readme - Expanded Info.txt", from Docs folder.

==============
4. SAVE GAMES
==============

Compatible with both new and active save games.

=============
5. CONFLICTS
=============

This mod is currently incompatible with any mod changing the inventory and/or the trade window.
This is due to the way the current window system is set up. If it changes in the future, it might become compatible with such mods.

========
6. BUGS
========

I haven't tested the mod on Linux or OSX systems, so if it doesn't work on them, please let me know through the bug system.
If you find any bugs, please let me know through the Nexus bug system.
Please use the bug system in Nexus instead of simply posting the comment in Posts - I might not notice your bug.

==========================================
7. FOR MOD DEVELOPERS - HOW THE MOD WORKS
==========================================

The mod reads any files in the Text folder starting with "ExpandedInfo" and ending in ".json" in the mod folder. ("ExpandedInfo*.json")

The .json files are loaded in the alphabetical order.
For this reason, if you don't want your edits to be overwritten by the base file coming with this mod, name it so that it comes after the base file alphabetically.

Suppose we're opening an info window for a short sword.
The mod, when the info window opens, pulls the dictionary compiled from all .json files, and, for each field in the description, looks whether there are:
- A default field for any item
- A default field for an item in the group of the item in question (for the case of the short sword, "Weapons")
- If there is a group match, a field for the index of the item in question (for the case of the short sword, "116")
The end string displayed will be from the lowest of these 3 conditions.

The mod looks through every field individually, so you can combine strings from different levels of the file.
Thus, if there is the following file:
{"Weapons":
{
"default":
{
"shortDescription": "This is a weapon.",
"longDescription": "Weapons are used to damage your opponents."
},
"113":
{
"shortDescription": "A double-edged, six-inch to foot-long blade."
}
}
}

For any Dagger (group "Weapons", index "113"), the end description in-game will look like so:
A double-edged, six-inch to foot-long blade.
Weapons are used to damage your opponents.

Whereas for any other weapon the end description in-game will look like so:
This is a weapon.
Weapons are used to damage your opponents.


If there is an empty string ("") for some key, that field will not be displayed in the item screen.
Thus, if there is a following file:
{"Weapons":
{
"default":
{
"shortDescription": "This is a weapon.",
"longDescription": "Weapons are used to damage your opponents."
},
"113":
{
"shortDescription": ""
}
}
}

For any Dagger (group "Weapons", index "113"), the end description in-game will look like so:
Weapons are used to damage your opponents.

Whereas for any other weapon the end description in-game will look like so:
This is a weapon.
Weapons are used to damage your opponents.

================================================================
8. FOR MOD DEVELOPERS - HOW TO WRITE YOUR OWN DESCRIPTION FILES
================================================================

Open the base .json file coming with this mod and compare it as you read onward.

The .json should be organised as follows:
{ "groupKey1":
{ "indexKey1":
{ "fieldKey1": "fieldValue",
"fieldKey2": "fieldValue",
... },
"indexKey2":
...
},
"groupKey2":
...
}

groupKeys are "default" (applies to any item), any vanilla group (defined in ItemEnums.cs), or any group you add yourself (not tested yet, but should work)
indexKeys are "default" (applies to any item in the group), or any number as a string (e.g. "155").
Vanilla item indices are defined in ItemEnums.cs.

fieldKeys supported are any of the following (more may come):
"shortDescription": a short description that comes before the vanilla item enchantment info or the recipe ingredient listing
"longDescription": a longer description that comes after the vanilla item enchantment info or the recipe ingredient listing

If you are writing descriptions for your own items, note down the item group and index you are using when registering the item, and put them in your .json file.
Example: you are creating a new weapon (Club) with an item index 500. Write into your .json file:
{
"Weapons":
{"500":
{"shortDescription": "A club."}
}
}
The description should appear in-game.

If you want to overwrite any description in the base file for your mod, you do not need to edit the base file.
You can create your own file and change any description to whatever you want. If your .json loads after the base (see "How the mod works"), your change should overwrite the base file.

================
9. DISTRIBUTION
================

The mod may be distributed as long as you credit me as the author.

==============
10. CHANGELOG
==============

0.7
- Initial Release

============
11. CREDITS
============

Interkarma and all developers working on Daggerfall Unity.