Blockhead Readme

Embed Size (px)

DESCRIPTION

zsdxgsdfg

Citation preview

Name: BlockheadVersion: 9.2Date: 2/8/14Category: MiscellaneousRequired: Patch 1.2.0416, Oblivion Script Extender, Microsoft Visual C++ 2012 Redist., NPC Tex Tweak (Recommended)Author(s): shadeMeSource: http://oblivion.nexusmods.com/mods/43752Forum: http://forums.bethsoft.com/topic/1068205-shademes-flyspeck-creations/

Description=======

Blockhead is an OBSE plugin in its late forties that has had enough of the Oblivion engines limitations. Born in a robber button and brought up by a Dachshund named Colin, it learnt the harsh facts of reality early. Only to laugh at its face, tweak its nose and drop ice cubes down its vestments.

Over the course of its unnecessarily long and insipid life, it has achieved a great many things, such as:The compulsory serving of asparagus at breakfast.Unrestricted camera movement in the race edit menu.The ability to override the inventory menus idle animations.The induction of the word contrafibularities in the Oxford English dictionary.The ability to override head and body assets of NPCs on a per-NPC/per-Race basis.The ability to override animations of NPCs on a per-NPC/per-Race basis.Tidymans carpets.

Fine Print======

The camera in the race/sex menu can be controlled with the directional keys (arrow keys and WSAD) and the mouse (while holding down the Shift key). It can be reset to its original position by clicking on the left mouse button and dragging. Movement and rotation speeds can be configured in the plugins INI file.

Inventory idle animation overriding allows custom idle animations to be applied on the inventory menus 3D player model without resorting to replacing existing assets. There are 8 available overrides, from which one is automatically selected by the engine depending upon the player characters equipped weapon. The override values in the INI file should be set to the filename+extension of a valid KF file placed inside the Meshes\Characters\_Male directory.

Blockhead implements a 3-tier override tool for customizing NPC body/head textures and meshes:Tier 1 (Script) Applied by using script commands. Refer to the command list below.

Tier 2 (Per-NPC) Applied by placing assets (textures/models) in the following folder: \Characters\AssetOverrides\PerNPC\.

Asset naming convention: 00XXXXXX_., where XXXXXX FormID of the NPC (without the mod index).

Auxiliary files such as normal maps, TRI, EGM, EGT files, etc. need to be similarly named, i.e, _n.dds.

Tier 3 (Per-Race) Body: Applied by placing assets in the following folder: \Characters\BodyAssetOverrides\PerRace\ (where M\F corresponds to the gender of the NPC).

Asset naming convention: XXX_., where XXX Name of the race.

Head: Head part asset overrides work differently. Since all head part related paths are defined, by default, at the Race level, overrides are only used to support gender variance. The override file paths are automatically derived from the originals defined in the Race record.

Asset naming convention: _., where M/F Gender.

As with Tier 2, auxiliary files need to be renamed appropriately.

Valid BodyPart Names:UpperBodyLowerBodyHandFootTail

Valid HeadPart Names:HeadEarsMaleEarsFemaleMouthTeethLowerTeethUpperTongueEyesLeft(Model override only)EyesRight(Model override only)

Order of precedence: Tier 1 > Tier 2 > Tier 3 > Default Asset.

Tier 1 overrides do not persist between game sessions and therefore need to be reapplied on loading a save game.

Body/Head parts without a pre-assigned asset can also be overridden, i.e., parts that do not have a valid model/texture path assigned in the editor. Tier 3 overrides for such head parts, however, must be placed in the following directory: \Characters\HeadAssetOverrides\PerRace\ (where M\F corresponds to the gender of the NPC)with the following naming convention: XXX_.

In addition to the aforementioned head parts, Blockhead adds limited overriding support for the following:Hair Hair assets can be assigned gender-specific files by adding a _M or _F suffix to their filenames.Age Overlays Age textures can be overridden on a per-NPC basis through script commands or custom assets placed in the following folder: Textures\Characters\AgeTextureOverrides\.

File naming convention: 00XXXXXX_YY.dds, where XXXXXX FormID of the NPC (without the mod index), and YY Age. Script overrides supersede the latter, do not persist bween game sessions.

NPC animations can be overridden on a per-NPC/per-Race basis too. Animation overrides are implemented as special animations internally. All animation files need to be placed in the following directory: Meshes\Characters\_Male\SpecialAnims. Per-NPC Override files must use the following naming convention: _BLKD_PERNPC_XXX_00YYYYYY.kf, where XXX Name of the mod file name + extension, YYYYYY FormID of the NPC record, without the mod index.Per-Race Override files must use the following naming convention: _BLKD_PERRACE_XXX_Y.kf, where XXX Name of the race, Y Gender (M/F).

The first part of the filename must follow the same naming convention as the vanilla games, e.g., BowIdle_PERRACE_Nord_M.

An NPC can be affected by more than one override at the same time The engine has the final say on which animation file gets used (the actual mechanics of the picking logic is yet to be discovered/understood).

The plugins INI file is generated after first run (in the same folder as the DLL file) and contains options to toggle its features.

It is recommended that Blockhead be used in tandem with the NPC Tex Tweak plugin, which offers users more avenues to customize NPC textures.

Command List=========SetBodyAssetOverride Applies a body asset (script) override to the calling refs NPC form. Returns true if successful. The texture path must be relative to the Data\ folder and must point to a valid asset file.(success:bool) ref.SetBodyAssetOverride overridePathFormatString:string var1 var2 ... var20 bodyPart:int assetType:int (opt)baseNPC:ref

GetBodyAssetOverride Returns the (script) override asset path of a body part. Returns an empty string when no override is found.(path:string) ref.GetBodyAssetOverride bodyPart:int assetType:int (opt)baseNPC:ref

ResetBodyAssetOverride Removes a body parts (script) override asset.(nothing) ref.ResetBodyAssetOverride bodyPart:int assetType:int (opt)baseNPC:ref

SetHeadAssetOverride Applies a head asset (script) override to the calling refs NPC form. Returns true if successful. The texture path must be relative to the Data\ folder and must point to a valid asset file.(success:bool) ref.SetHeadAssetOverride overridePathFormatString:string var1 var2 ... var20 headPart:int assetType:int (opt)baseNPC:ref

GetHeadAssetOverride Returns the (script) override asset path of a head part. Returns an empty string when no override is found.(path:string) ref.GetBodyAssetOverride headPart:int assetType:int (opt)baseNPC:ref

ResetHeadAssetOverride Removes a head parts (script) override asset.(nothing) ref.ResetHeadAssetOverride headPart:int assetType:int (opt)baseNPC:ref

GetFaceGenAge Returns the age of the calling refs NPC form.(age:float) ref.GetFaceGenAge (opt)baseNPC:ref

SetFaceGenAge Sets the NPCs age. Age values must lie between 15 and 65.(nothing) ref.GetFaceGenAge age:int (opt)baseNPC:ref

RefreshAnimData Refreshes the calling references animation state.(nothing) ref.RefreshAnimData

SetAgeTextureOverride Overrides the age texture base path for the calling refs NPC form. Returns true if successful. The path must be relative to the Data\Textures folder and the corresponding textures must use the following naming convention: .dds(nothing) ref.SetAgeTextureOverride overridePathFormatString:string var1 var2 ... var20 (opt)baseNPC:ref

ResetAgeTextureOverride Removes the NPCs age texture base path override.(nothing) ref.ResetAgeTextureOverride (opt)baseNPC:ref

ToggleAnimOverride Enables/Disables Blockheads animation overrides on the NPC. RefreshAnimData needs to be called for immediate effect.(nothing) ref.ToggleAnimOverride state:bool (opt)baseNPC:ref

Valid Body Parts:UpperBody 2LowerBody 3Hand- 4Foot- 5Tail- 15

Valid Head Parts:Head 0EarsMale 1EarsFemale- 2Mouth- 3TeethLower- 4TeethUpper- 5Tongue- 6EyesLeft- 7EyesRight- 8

Valid Asset Types:Texture 1Model 2

Asset related changes will not take effect until the references 3D is reloaded.

Install====1. Extract this archive to any folder and then copy the contents to Oblivion's Data folder. Delete the plugins INI when upgrading to a new version.2. Launch the game with the OBSE launcher.

Uninstall======1. Delete the following files/folders:Data\OBSE\Plugins\Blockhead.dllData\OBSE\Plugins\Blockhead.ini

Compatibility========This plugin is compatible with every other OBSE plugin there is. Should you find a discrepancy, please report it through the contact avenues as stated below.

Animation overrides will not work on NPCs that use non-standard file paths for their skeletons, i.e., skeleton meshes must be placed in the Meshes\Characters\_Male directory. Special animations added using OBSEs ToggleSpecialAnim script command may be superseded by Blockheads overrides occasionally. Overrides for some animation groups (such as Cast) may not work consistently.

Contact=====Do send in your suggestions and ideas to improve the plugin - Ill be more than happy to add it in whenever necessary. Also, if you find any bugs, please report them.

For anything about the modification, PM me atBethsoft Forums: shadeMe

Credits=====Special thanks to:Ian Patterson, Stephen Abel and Paul Connelly (The OBSE Team) - For keeping up the Oblivion Modding spirit and providing the modding community with Oblivions Elixir of Immortality. And for the API.LHammonds - For his readme generator.nuska For keeping me occupied on a Sunday.scanti For the NPC Tex Tweak plugin and his pioneering work in the field of engine extension.The Rest of the Modding Community - For the inspiration I needed to start modding and all the wonderful mods which I use.Bethesda - For providing a rather malleable game.

Tools Used=======7-Zip - http://www.tesnexus.com/downloads/file.php?id=15579Oblivion Mod Manager - http://www.tesnexus.com/downloads/file.php?id=2097Oblivion Script Extender (OBSE) - http://obse.silverlock.orgMicrosoft Visual Studio 2012 - http://www.microsoft.com/IDA Pro - http://hex-rays.comReadme Generator - http://lhammonds.game-host.org/obmm/tools_readme_generator1.aspRum - http://en.wikipedia.org/wiki/RumFish - http://en.wikipedia.org/wiki/Fishfoobar2000 - http://www.foobar2000.org

Usage====License: WML 1.0 Modify and Redistribute, Share Alike - ish You are free to redistribute this work in an unmodified/modified form, so long as you: 1) obtain permission from the author(s), 2) give the author(s) credit proportional to their contribution to the final work, 3) distribute the final work under the same terms, and 4) make artistic resources included with the final work available under the same terms as below. Artistic resources (meshes, textures, sounds, etc.) included with this work may be included in unmodified form with modified versions of this work, so long as their authors are given credit proportional to their contribution to the final work. Note that artistic resources may not be modified, or extracted from this work, unless permission is given elsewhere.

If you use the assets of a mod which was not created by you, please give due credit to its creator. They deserve it.

Legal====This mod is provided as "is". The author is not responsible for any damage done to your save game, game installation or even your computer (though such an event happening is highly unlikely). Use at your own risk.

Change Log========9.2 Bug fixes9.1 Changed anim override file naming convention, added a script command to toggle anim overrides, bug fixes9.0 Allowed overrides for body/head parts without default assets, added age texture and hair overriding, bug fixes8.1 Fixed various bugs, removed the unused (and buggy) Idle inventory idle override8.0 Upgraded to VS 2012 C++ runtimes, added tier-based overriding for head assets, added animation overriding, bug fixes7.0 Added support for body model overrides, updated script commands, implemented 3-tier system6.0 Added support for scripted body texture overrides, FaceGen age getter/setter commands, removed pre-generated face texture related patches (the NPC Tex Tweak provides a more complete solution to the issue)5.1 Fixed a body texture override related CTD5.0 Implemented per-NPC body texture overriding4.0 Implemented inventory idle overriding3.1 Fixed age texture pathing3.0 Added RaceSexMenu camera poser2.0 Added editor support1.0 Initial Release