Difference between revisions of "Characters"
m (Fill in more todos on file formats and system for characters) |
(Add spawner menu info) |
||
Line 72: | Line 72: | ||
'''TODO''': Possibly also scripting attacks and animations, and character-bound input, etc - though maybe that should be in a different section? | '''TODO''': Possibly also scripting attacks and animations, and character-bound input, etc - though maybe that should be in a different section? | ||
+ | |||
+ | = How to add a character to the spawner menu = | ||
+ | |||
+ | Short version: | ||
+ | |||
+ | You must add it in a mod. | ||
+ | |||
+ | You can add as many characters to the spawner menu as you want in a single mod, you just need to follow the below instructions for each, and add multiple <code><Item></code> tags to your mod.xml file. | ||
+ | |||
+ | In your mod.xml file, add this xml tag: | ||
+ | |||
+ | <pre><Item category="My Custom Mod Characters" | ||
+ | title="Some Character To Spawn" | ||
+ | path="Data/Objects/example_item_pack/mod_item_example.xml" | ||
+ | thumbnail="Data/UI/example_item_pack/thumbs/mod_item_example.png" /></pre> | ||
+ | |||
+ | * '''<code>category</code>''' is the top level category where the character will show up, in the '''Load''' menu. | ||
+ | * '''<code>title</code>''' is the name of the character, as it will show up in the spawner menu. | ||
+ | * '''<code>path</code>''' is the path to the character XML that will get spawned. See [[#How_to_create_a_character|the '''How to create a character''' section]] for which XML file to target (either the character XML itself, or a version you saved off that has modified default parameters). | ||
+ | * '''<code>thumbnail</code>''' is the image that will be used for a tooltip when you hover over your character in the spawner menu. | ||
+ | |||
+ | See '''<code>GameInstallDir/Data/ExampleMods/mod_xml_specification.txt</code>''' for full information. |
Revision as of 00:48, 27 November 2017
Contents
Overview
Characters are a game entities that are directly controllable by a player or by the AI.
Characters have Rigged Objects attached, which support skeletal animation, rag doll animation, blends of those two, and character physics.
TODO: More in depth description, akin to that in Hotspots and LevelScripts
Documentation
Callable functions and data available inside character scripts
A list of functions, data, etc, is created automatically whenever you run the game, in a file on your hard drive. This lists what external code you get "for free" and can call from inside a character script.
- Windows:
My Documents\Wolfire\Overgrowth\aschar_docs.h
- Mac:
~/Library/Application Support/Overgrowth/aschar_docs.h
- Linux:
~/.local/share/Overgrowth/aschar_docs.h
This documentation will change with each version of the game, so keep checking back on this aschar_docs.h
file to see the most up to date information.
There are also wiki pages which have more detailed documentation many of these functions. These pages have a danger of going out of date, but give more detailed documentation on some of the code:
Character instances in other scripts
Characters are exposed to other scripts as instances of the MovementObject
class.
MovementObject
instances are like other objects in the game. They support everything that is supported by Object
, and also have their own special set of functions, properties, etc.
If you have a handle to a MovementObject@
object in angelscript, you can convert it to an Object@
by calling ReadObjectFromID(movement_object.GetID());
.
Working with Characters in editor
TODO: How to set a character as playable in the editor.
TODO: List of supported character parameters and how to use them. Some of these things verge more into "game" territory and not "engine" territory, so should at the very least mention that it's fully changeable in script...
TODO: List of species specific traits? Some of these things verge more into "game" territory and not "engine" territory, so should at the very least mention that it's fully changeable in script...
How to create a character
Character XML files
TODO: Description of XML format
File path conventions
TODO: Description of where to add files in mods so they don't conflict. Ala Hotspots#File_path_conventions
Modeling
TODO: Links to or docs on modeling, graphics features like fur fins, various texture channels and what their components (alpha etc) mean, UVs, object space normals, etc. Also, any export info that would be necessary.
Rigging
TODO: Links to or docs on rigging and rig export
Animations
TODO: Links to or docs on animations and export, tagging, etc
Attacks
TODO: Links to or docs on attacks system and export, tagging, etc - related partly to animations.
TODO: Possibly also scripting attacks and animations, and character-bound input, etc - though maybe that should be in a different section?
Short version:
You must add it in a mod.
You can add as many characters to the spawner menu as you want in a single mod, you just need to follow the below instructions for each, and add multiple <Item>
tags to your mod.xml file.
In your mod.xml file, add this xml tag:
<Item category="My Custom Mod Characters" title="Some Character To Spawn" path="Data/Objects/example_item_pack/mod_item_example.xml" thumbnail="Data/UI/example_item_pack/thumbs/mod_item_example.png" />
-
category
is the top level category where the character will show up, in the Load menu. -
title
is the name of the character, as it will show up in the spawner menu. -
path
is the path to the character XML that will get spawned. See the How to create a character section for which XML file to target (either the character XML itself, or a version you saved off that has modified default parameters). -
thumbnail
is the image that will be used for a tooltip when you hover over your character in the spawner menu.
See GameInstallDir/Data/ExampleMods/mod_xml_specification.txt
for full information.