Oblivion
0 of 0

File information

Last updated

Original upload

Created by

misterMcCoonie

Uploaded by

misterMcCoonie

Virus scan

Safe to use

Tags for this mod

About this mod

Allows you to name your horses in-game. Supports horses from other mods. Includes import and export features for sharing names.

Permissions and credits
-------------------------------------------------
Name That Horse
-------------------------------------------------
by misterMcCoonie
Created: January 2009
Latest: June 2009
LatestVersion: v2.2.1

-------------------------------------------------
Requirements:
-------------------------------------------------
TES4: Oblivion
Official Oblivion Patch v1.2.416
Oblivion Script Extender (OBSE) v0017 or greater
Pluggy v122 or greater

-------------------------------------------------
Description:
-------------------------------------------------
This mod allows you to name your horses while playing the game. I got tired of having horses with generic names, especially if there were two with the same name (I.E. "My Bay Horse", etc.). Now, any horse from any mod that meets the criteria can be named. There is storage available for 8 million and someodd horses, but the more names you have stored, the slower the storage is likely to run. A horse's name can be up to 300 characters in length. The horse names are stored in your saved games. To revert your horses to their original names, simply unload the mod. Import and export features are included which will allow you to share your horse names with other players, or even to simply store the names in a file until the next time you play Oblivion, so that you don't need to name all of your horses again. Advanced users interested in having more control over the mod should check out the 'Advanced Usage' section. Everyone should read the 'Usage' section before using this mod. Also note that you can customize the name key, the delete complement key, and debug mode by altering the NameThatHorse.ini file provided. This file goes in your \Data\ directory, and if it doesn't exist, the keys will be set to their default, so it isn't necessary. Further instructions are contained within that file.

**************************
USAGE:
**************************

Naming:
Press the name key ('n' by default) while facing your horse. You will be presented with a message box prompt which will have a flashing cursor, and will have a 'Close' button on it. Type a new name, and click 'Close' when you are finished. Another box will then pop up prompting you to confirm the name change (I had to do it this way), in which you can click either 'Yes' or 'Cancel.' Clicking yes will set the horse's name, and clicking cancel will leave it unchanged. The name cannot be blank, but it can be a space if you like. If you get a message when trying to name your horse which says that you can't name it because you think you'll forget its name, that means the horse is not a persistent reference and cannot be named. A horse being named must meet these criteria: It must be owner by the player, the player faction, or nobody; It must be a persistent reference; You must not be riding a horse while attempting to name either it or another horse.

Deleting a Name:
Hold the delete complement key ('left shift' by default) while pressing the name key while facing a horse. If the name existed in storage, it will be removed, and you will see a message such as "You will soon forget this horse's name...". Functionally, this means the next time you start Oblivion*, the horse will have its original name. If the horse doesn't exist in storage you'll get a message such as "You haven't named this horse...". You don't need to own a horse to delete its name from storage. *Note: Pluggy has a function under development that will reset an object's name without needing a restart, so if this is ever implemented, I will update this functionality.

Exporting:
To export all of the horses you have stored, type 'StartQuest ExportHorses' (without quotes) at the console, and press 'Enter'. You can access the console by pressing "`" or "~" in-game. Exit the console by pressing "`" again to be returned to gamemode, where the above quest will run. The exporter will run, and if everything went smoothly, you'll see a message saying 'Export Complete.' At this point, you will have a new file in 'My Documents\My Games\Oblivion\Pluggy\User Files\' called Horses.dat. This is the same file you will use to import horses from. If the file already exists, it will be overwritten. Keep in mind that exporting is not over until you see the 'Export Complete' message.

Importing:
To import horses, you first need to have a 'Horses.dat' file in the 'My Documents\My Games\Oblivion\Pluggy\User Files\' directory. To begin the import process, type 'StartQuest ImportHorses' (without quotes) at the console. If everything goes smoothly, you will be asked what to do with horses that already exist in storage, but also appear in the import file. After this will be a few more messages, ending with 'Import Complete.' The import process is not over until you see the 'Import Complete' message. Importing will not destroy or overwrite you currently stored horses, unless you so choose when prompted. This is the safest way to share your horse names with other players.

General Usage Notes:
- If you don't know what 'load order' means, I would suggest looking up a utility called Oblivion Mod Manager (OBMM), whose documentation can explain load order to you.
- The storage works for horses from any mod, and the names will stay correct even if you change your load order. For example, if Slof's Horses appears 8th in your mods list, you name the horses, then change your load order so that Slof's Horses appears 4th (or any other spot) in your list, the names will still be correctly applied in-game. The names are correctly applied even if you export them, change your load order, and import the name file again.
- If you have named horses from other mods, and forget to delete their names from storage before unloading that mod, you will likely have extra storage slots defined than are actually being used. For example, if I have 7 horses stored, 4 of which are from Slof's Horses: If I unload Slof's Horses without first deleting those horses from storage, my storage will still be 7 slots in size. This isn't necessarily a problem, but those slots won't disappear by themselves, and it might speed things up if you were to get rid of those 4 empty slots. To do this, type 'StartQuest ConsolidateHorses' (without the quotes) at the console. This won't do anything that you can see, but it will get rid of those 4 empty slots. Consolidation is finished when you see the message "Consolidation Complete." Consolidation also runs by itself when you import or export. It doesn't run automatically all the time because it is a labor-intensive function which will cause tangible slowdown while running.
- Most of the functions you start from the console will not run while you're in a menu, but will continue after you exit the menu. The best thing to do, though, is to start the function you want to run at the console, then close the console and just wait in game mode until you see a "...complete" message telling you that the function has finished.

*That's everything you need to know to use NTH. You can skip ahead to the Installation section, or if you are interested in more advanced features and information, you can read on through the 'Advanced Usage' section.

**************************
ADVANCED USAGE:
**************************

Dumping Storage:
It can be useful to see exactly what the storage looks like at any given point in time, for debugging or plain interest. This is actually a good way of finding out whether you need to run ConsolidateHorses or not. To do this, type 'StartQuest DumpHorses' (without quotes) at the console. This skips the consolidation you would get with ExportHorses, and lets you see the storage slot by slot. When you receive the 'Dump Complete' message, the file HorseStorage.dmp will have been created in 'My Documents\My Games\Oblivion\Pluggy\User Files\.' This is just a text format file that lists all of the slots defined, and the contents of each. For example, if you've named 7 different horses in-game, the dump will show 7 slots, because no others exist until they are created by naming. DumpHorses does not list a horse's originating mod, nor will it in future, because this can be determined by the esp ID of the references listed.

Setting Storage to Predefined Values:
The storage can be explicitly set to values you define. For advanced users, this is the best way to store your horses for the next time you install Oblivion. To use this feature, you need a file called HorseStorage.dat in your
'My Documents\My Games\Oblivion\Pluggy\User Files\' directory. The format of the file is as follows: The data in the file all exists on one line; the first piece of data is the horse's reference (8 digits) followed by a backtick ("`", on the same key as tilde "~"); Following the reference and backtick is the horse's name in plain text, followed by another backtick. This format is repeated for all horses. For example, HorseStorage.dat might look like:
00032BF5`Shade`0006844C`Darkness`00700FA`Legion Scum`
At this point you can explicitly set storage by typing 'StartQuest SetHorses' at the console. WARNING: SetHorses will collapse whatever storage already exists. You can click 'No' at the prompt to cancel, but if you continue, whatever you had previously stored will be destroyed. If you create a HorseStorage.dat file that is empty and run SetHorses, storage will still be collapsed, but no horses will be added to storage since you didn't specify any.

Advanced Usage Notes:
- If you've opened up Horses.dat in a text editor after exporting storage, you'll see the format is: reference, backtick, name, backtick, originating mod, backtick. The originating mod info is used to reference horses regardless of your load order, and must be present.
- You must not include originating mod information in the HorseStorage.dat file; it is not supported, and will cause undesirable results.
- If you would like to see debug text printed to the console, set the dbg variable to 1 in NameThatHorse.ini. Because of the scale of this mod, I had to implement some way of figuring out what was happening at any given time.

-------------------------------------------------
Installation:
-------------------------------------------------
STANDARD:
1. Unzip this mod to your \Oblivion\Data\ directory
2. When launching the game, select 'Data Files', and put an x beside NameThatHorse.esp
*NOTE: The position of NameThatHorse.esp in your load order is not important.

OBLIVION MOD MANAGER METHOD: (Recommended)
1. Download the archive to a memorable location
2. Open OBMM, and click the 'Create' button at the bottom of the window
3. Click 'Add Archive' in the middle of this window
4. Navigate to, and select the archive you just downloaded, then click 'Open'
5. When prompted to 'Import omod conversion data,' click 'Yes'
6. Click 'Create omod' at the bottom of this window
7. Double click the mod name in the frame on the right, and the installation script will run
8. The green box will turn blue to let you know the mod has been activated

UPGRADE FROM v1.x:
1. Uncheck your chosen .esp in your Data Files window
2. Remove the old .esp, and replace it with the new one from this archive
3. Remove the old .ini, and replace it with the new one from this archive
4. When starting oblivion, check the new .esp in you Data Files window
*NOTE: Yes, this means the horse names will be lost. Unfortunately, I could not create an export tool for v1.x. The best thing I can do is create a version 1.3 which has an export feature. If people really want an upgrade path, I will do this.

UPGRADE FROM v2.x:
1. Export your horses as per the above instructions
2. Uninstall the old version using the instructions in the 'Uninstallation' section
3. Install the new version as per the above instructions
4. Import the name file into the new installation, as per the above instructions
*NOTE: This is the safe method, you may be able to simply uninstall the old and install the new and have the horses retain their names.

-------------------------------------------------
Uninstallation:
-------------------------------------------------
STANDARD:
1. Uncheck the .esp in your 'Data Files' window. This will also give all horses their original names back
2. Delete the .esp, and the NameThatHorse.ini files

OBLIVION MOD MANAGER METHOD:
1. Double click the mod name in the right frame
2. When prompted to 'Deactivate this mod' click 'Yes'
3. The blue box will turn green to let you know the mod has been deactivated
4. Right click the mod name, and select 'Delete' to get rid of the .omod file

*NOTE: The next time you save your game after unloading the mod, the names will be removed from your new save.

-------------------------------------------------
Compatibility:
-------------------------------------------------
KNOWN CONFLICTS:
<none><br><br>CONFLICT CONDITIONS: <br><none><br><br>-------------------------------------------------<br>Known Bugs:<br>-------------------------------------------------<br>Solved by v1.1 - Only Shadowmere's name stays changed, all other horses revert. This was a mistake on my part, as I didn't read over my scripts before releasing version 1.0.<br>Solved by v1.2 - If you enter a blank name, you can no longer name horses until you restart Oblivion. I thought there was a way to show the input window after closing it, but there isn't. Just try to name your horse again.<br>Solved by v2.2 - You cannot successfully re-apply names to horses from other mods if you exported them, changed your load order, then imported them. I was able to solve this due to the function structure of OBSE v0017.<br>Solved by v2.2.1 - OBSE and Pluggy check does not reactivate if you uninstall OBSE after having it installed, and does not properly disable the mod when said action occurs. My logic was a little off, it works now.<br>Persistent since v2.0 - If you manage to gain ownership of (through use of a mod that allows you to own stolen horses, or similar), and name a horse of which there is more than one occurrence (I.E. The bay horses at the IC stables, etc.), the name will be changed for all occurrences of that base horse. This is impossible to avoid. Since the name is part of the base object, this is a limitation of the game.<br>Reintroduced by v2.0 - The message that states "Somesuch horse has returned to..." will not show the name you gave that horse. I can implement this, and it's on my to do list for the next version.<br>Active since v1.0 - The names of non-armoured horses do not match those of their armoured counterparts, and vice versa. I couldn't solve this quickly in v2.2, so it's on my to do list for the next version.<br><br>Please send bugs/problems/issues to me, and I'll do what I can.<br><br>-------------------------------------------------<br>Version History:<br>-------------------------------------------------<br><br>1.0<span class="wbbtab"></span>- Initial release.<br>1.1<span class="wbbtab"></span>- Fixed major bug where Shadowmere was the only horse whose name would be changed<br><span class="wbbtab"></span><span class="wbbtab"></span>- Mod now uses OBSE text input capabilities<br><span class="wbbtab"></span><span class="wbbtab"></span>- The horse's name will now appear in the "<name> has returned to..." message<br><span class="wbbtab"></span><span class="wbbtab"></span>- Added an alternate .esp for use with the UOP<br><span class="wbbtab"></span><span class="wbbtab"></span>- All of my mods from this point should be distributed in an OMOD-ready Archive<br>1.1.1 - Fixed very minor bug in OBMM installation script<br>1.2<span class="wbbtab"></span>- Blank names now end the naming process instead of getting it stuck<br><span class="wbbtab"></span><span class="wbbtab"></span>- Names no longer take 5 seconds to be applied when starting Oblivion<br><span class="wbbtab"></span><span class="wbbtab"></span>- Added versions for direct use with Slof's Horses Base v2.0<br><span class="wbbtab"></span><span class="wbbtab"></span>- Fixed bug in Slof's .esps where certain horses had saddles and bridles, but not reins<br>2.0<span class="wbbtab"></span>- Unreleased, changes to be listed in next released version<br>2.1<span class="wbbtab"></span>- Implemented true dynamic storage for virtually limitless horses<br><span class="wbbtab"></span><span class="wbbtab"></span>- Created import and export features to enable sharing of names and long term storage<br><span class="wbbtab"></span><span class="wbbtab"></span>- Any horse can now be named, not just the player ownable horses<br><span class="wbbtab"></span><span class="wbbtab"></span>- Created a delete feature to remove a horse from storage<br><span class="wbbtab"></span><span class="wbbtab"></span>- Implemented DumpHorses, SetHorses, and ConsolidateHorses for debugging<br><span class="wbbtab"></span><span class="wbbtab"></span>- "<name> has returned to..." message will show the horse's original name again<br>2.2<span class="wbbtab"></span>- Added an updated OBSE and Pluggy check that works even if OBSE isn't installed<br><span class="wbbtab"></span><span class="wbbtab"></span>- fixed minor bug where ConsolidateHorses quest didn't check if storage was ready before running<br><span class="wbbtab"></span><span class="wbbtab"></span>- You can now change your load order between exporting and importing and have names applied to horses from other mods upon importing<br><span class="wbbtab"></span><span class="wbbtab"></span>- Altered import feature so that it immediately discards horses from mods that are no longer loaded, and updated debug text to reflect this<br><span class="wbbtab"></span><span class="wbbtab"></span>- Included an OBMM installation script, which I forgot to do for v2.1<br>2.2.1 - Fixed bug in OBSE and Pluggy check where it would not notify you if you uninstalled OBSE after having it installed<br><span class="wbbtab"></span><span class="wbbtab"></span>- Fixed bug in OBSE and Pluggy check where it would not properly disable the mod if either component was missing<br><br>-------------------------------------------------<br>Future Plans:<br>-------------------------------------------------<br>- I'd like the horse's name to be reset as soon as you delete its name from storage. This can be accomplished with an updated version of Pluggy, if it ever comes about<br>- I'd like the horse scripts to refer to the horse's current name, which I plan to implement in the next version<br>- I'd like to allow integration with DLCHorseArmor, so that a horse's name stays the same whether it's armoured or not<br>- Seeing how the dynamic storage works in NTH, I'd like to make a 'Name That Companion' type mod which allows you to name any creature companion. This is easily accomplished with current functions, but I'm not sure if it would be of any use. I'd like to hear your feedback on this one<br><br>Bug fixes and requests as usual.<br><br>-------------------------------------------------<br>Credits / Legal / Use:<br>-------------------------------------------------<br>Tanjo (for Horse Names v1.0, which prompted me to write this)<br>Maboroshi Daikon (for Saddlebags, which I examined when trying to figure out how to activate the horses)<br>scruggs (for Denock Arrow v1.0, which I examined in order to figure out multiple key presses)<br>KyoParadox (whose journal mod I examined to figure out the new text input)<br>AlienSlof (For the beautiful horse textures which were an optional requirement for v1.2)<br>The OBSE team (for making all of this possible)<br>Elys &amp; Haama (for Pluggy)<br>The CS Wiki (an excellent source of knowledge)<br><br>I hope you enjoy this mod! I look forward to hearing your comments!<br><br>You may use all parts of this mod freely in any of your own mods, as long as you distribute your mod for free, since this is free. Also, you might let me know when it's done (I might want to try it out :) ). A little citation would be nice, but not required.<br><br>DISCLAIMER: I am not responsible for any damages caused to person or property as a result of this mod. I test all of my mods before releasing, and rest assured I do not create mods with malicious intent.<br><br>/misterMcCoonie<br>/Name That Horse</name></name></none></none>