XML:TxtC: Difference between revisions
Paradox-01 (talk | contribs) mNo edit summary |
Paradox-01 (talk | contribs) mNo edit summary |
||
| Line 34: | Line 34: | ||
===XML structure=== | ===XML structure=== | ||
Think of "instances" (#N) as file sections, they go from 1 to N. 0 is the header | Think of "instances" (#N) as file sections, they go from 1 to N. 0 is the header: always "TxtC". | ||
: Every TxtC contains one instance of type IGPA. | : Every TxtC contains one instance of type IGPA. | ||
| Line 52: | Line 52: | ||
|} | |} | ||
'''The following IDs are taken from "TxtClevel_1f.xml" and serve as an example:''' | |||
: #0 (TxtC instance) links to #1 (IGPA instance) | : #0 (TxtC instance) links to #1 (IGPA instance) | ||
| Line 63: | Line 63: | ||
: #20 (IGSA instance) links from #21 up to #31 (IGSt Instances) | : #20 (IGSA instance) links from #21 up to #31 (IGSt Instances) | ||
: #32 (IGSA instance) links from #33 up to #43 (IGSt Instances) | : #32 (IGSA instance) links from #33 up to #43 (IGSt Instances) | ||
If you modify or create a new file you can use #5 for anything you like because OniSplit reindexes the instances when packing. The TSFFTahoma placeholder doesn't need to be present in your file. | |||
| Line 110: | Line 112: | ||
===example=== | ===example=== | ||
{| border=0 cellspacing=20 cellpadding=0 align=right | {| border=0 cellspacing=20 cellpadding=0 align=right | ||
| [http://i305.photobucket.com/albums/nn207/unknownfuture/Oni_Galore_Images/XML_modding/modders.png http://i305.photobucket.com/albums/nn207/unknownfuture/Oni_Galore_Images/XML_modding/modders_preview.png] | | [http://i305.photobucket.com/albums/nn207/unknownfuture/Oni_Galore_Images/XML_modding/modders.png http://i305.photobucket.com/albums/nn207/unknownfuture/Oni_Galore_Images/XML_modding/modders_preview.png] | ||
| Line 117: | Line 117: | ||
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||
<Oni | <Oni> | ||
< | <TxtC id="0"> | ||
<Pages>#1</Pages> | <Pages>#1</Pages> | ||
</ | </TxtC> | ||
< | <IGPA id="1"> | ||
<Pages> | <Pages> | ||
<Link>#2</Link> | <Link>#2</Link> | ||
</Pages> | </Pages> | ||
</ | </IGPA> | ||
You can display a little image if you use the image tag in the IGPG instance. (Either non-animated TXMP or [[PSpc]].) | You can display a little image if you use the image tag in the IGPG instance. (Either non-animated TXMP or [[PSpc]].) | ||
| Line 134: | Line 131: | ||
<Text2> cannot be used for TxtC because there isn't a note/hint field. | <Text2> cannot be used for TxtC because there isn't a note/hint field. | ||
< | <IGPG id='''"2"'''> | ||
<nowiki><Font></nowiki> | <nowiki><Font></nowiki> | ||
<Family>TSFFTahoma</Family> | <Family>TSFFTahoma</Family> | ||
| Line 142: | Line 139: | ||
<Flags>Family Style Color Size</Flags> | <Flags>Family Style Color Size</Flags> | ||
<nowiki></Font></nowiki> | <nowiki></Font></nowiki> | ||
<Image>TXMPlevel31_modders</Image> | |||
<Text1>'''# | <Text1>'''#3'''</Text1> | ||
<Text2></Text2> | <Text2></Text2> | ||
</ | </IGPG> | ||
Instance number | Instance number 5 has a space between the text tags (<Text> </Text>) to produce a new paragraph. A single space isn't valid unless you add an attribute to a special tag like that "<Text xml:space="preserve"> </Text>". | ||
< | <IGSA id='''"3"'''> | ||
<Strings> | <Strings> | ||
<Link>'''# | <Link>'''#4'''</Link> | ||
<Link>'''# | <Link>'''#5'''</Link> | ||
<Link>'''# | <Link>'''#6'''</Link> | ||
</Strings> | </Strings> | ||
</ | </IGSA> | ||
< | <IGSt id='''"4"'''> | ||
<nowiki><Font></nowiki> | <nowiki><Font></nowiki> | ||
<Family></Family> | <Family></Family> | ||
| Line 165: | Line 162: | ||
<nowiki></Font></nowiki> | <nowiki></Font></nowiki> | ||
<Text>That's a blue caption.</Text> | <Text>That's a blue caption.</Text> | ||
</ | </IGSt> | ||
< | <IGSt id='''"5"'''> | ||
<nowiki><Font></nowiki> | <nowiki><Font></nowiki> | ||
<Family></Family> | <Family></Family> | ||
| Line 175: | Line 172: | ||
<nowiki></Font></nowiki> | <nowiki></Font></nowiki> | ||
<Text xml:space="preserve"> </Text> | <Text xml:space="preserve"> </Text> | ||
</ | </IGSt> | ||
< | <IGSt id='''"6"'''> | ||
<nowiki><Font></nowiki> | <nowiki><Font></nowiki> | ||
<Family></Family> | <Family></Family> | ||
| Line 185: | Line 182: | ||
<nowiki></Font></nowiki> | <nowiki></Font></nowiki> | ||
<Text>And that's a white, smaller text.</Text> | <Text>And that's a white, smaller text.</Text> | ||
</ | </IGSt> | ||
</Oni> | |||
Revision as of 15:15, 13 January 2012
TxtC: text console (page)
general notes
- Console text pages can be called via BSL command "text_console". In fact they don't need a console, you can call up a page in any function you like.
- TxtC's are normally level specific (levelX_...), but could be made global (level0_...).
BSL support
- console_activate console_id:int
- console_deactivate console_id:int
- console_reset console_id:int (resets a console to initial state)
- text_console name:string
two example functions
### called up by a console
func void console_jump(string ai_name)
{
text_console level_1g
console_reset 18
}
### called up by a random function, pops up when player performs Konoko's first punch
func just_show_me_a_page
{
chr_wait_animation 0 KONCOMcomb_p
text_console level_1f
}
XML structure
Think of "instances" (#N) as file sections, they go from 1 to N. 0 is the header: always "TxtC".
- Every TxtC contains one instance of type IGPA.
- Every IGPA contains a number of instances of type IGPG.
- Every IGPG contains a number of instances of type IGSA.
- Every IGSA contains a number of instances of type IGSt.
- IGPA means a page array (think of it as a little book)
- IGPG means a page
- IGSA means a (text) string array
- IGSt means a (text) string
- Take care of the structure and the cake is yours.
|
The following IDs are taken from "TxtClevel_1f.xml" and serve as an example:
- #0 (TxtC instance) links to #1 (IGPA instance)
- #1 (IGPA instance) links from #2 up to #4 (IGPG instances, here we have 3 pages as you see)
- #2 (IGPG instance) links to #32 (IGSA instances)
- #3 (IGPG instance) links to #20 (IGSA instances)
- #4 (IGPG instance) links to #6 (IGSA instances)
- #5 corresponds to the TSFFTahoma placeholder
- #6 (IGSA instance) links from #7 up to #19 (IGSt Instances)
- #20 (IGSA instance) links from #21 up to #31 (IGSt Instances)
- #32 (IGSA instance) links from #33 up to #43 (IGSt Instances)
If you modify or create a new file you can use #5 for anything you like because OniSplit reindexes the instances when packing. The TSFFTahoma placeholder doesn't need to be present in your file.
XML tags and options
TxtC instance tags
- <Pages> (link to IGPA instance)
IGPA instance tags
- <Pages> (every link represents a page)
- <Link> (links to an IGPG instance)
IGPG instance tags
- <Font> (defines the font in case it isn't defined in the IGSt instance)
- <Family>
- TSFFTahoma
- <Style>
- Normal
- Bold
- Italic
- <Color> (RGB range, e.g. <Color>255 0 77</Color>)
- <Size> (10 and 12 are usually used)
- <Family>
- <Image> (links to a TXMP or PSpc file)
- <Text1> (links to an IGSA instance)
- <Text2> (not used by TxtC)
IGSA instance tags
- <Strings>
- <Link> (links to an IGSt instance)
IGSt instance tags
- <Font>
- <Family>
- TSFFTahoma
- <Style>
- Normal
- Bold
- Italic
- <Color>
- <Size>
- <Flags> (Every IGSt can use own properties. The <Flag> tag let you enable these. Add "Size" when you want to get a new font size, add "Color" when you want to get a new font color, etc..)
- Family
- Style
- Color
- Size
- <Text> (Contains the actual text but can also create a bare paragraph (see example at instance #46). You can use
>to produce>and<to produce<.)
- <Family>
example
|
<?xml version="1.0" encoding="utf-8"?>
<Oni>
<TxtC id="0">
<Pages>#1</Pages>
</TxtC>
<IGPA id="1">
<Pages>
<Link>#2</Link>
</Pages>
</IGPA>
You can display a little image if you use the image tag in the IGPG instance. (Either non-animated TXMP or PSpc.)
<Text2> cannot be used for TxtC because there isn't a note/hint field.
<IGPG id="2">
<Font>
<Family>TSFFTahoma</Family>
<Style>Bold</Style>
<Color>116 208 255</Color>
<Size>10</Size>
<Flags>Family Style Color Size</Flags>
</Font>
<Image>TXMPlevel31_modders</Image>
<Text1>#3</Text1>
<Text2></Text2>
</IGPG>
Instance number 5 has a space between the text tags (<Text> </Text>) to produce a new paragraph. A single space isn't valid unless you add an attribute to a special tag like that "<Text xml:space="preserve"> </Text>".
<IGSA id="3">
<Strings>
<Link>#4</Link>
<Link>#5</Link>
<Link>#6</Link>
</Strings>
</IGSA>
<IGSt id="4">
<Font>
<Family></Family>
<Style>Bold</Style>
<Color>116 208 255</Color>
<Size>12</Size>
<Flags>Style Color Size</Flags>
</Font>
<Text>That's a blue caption.</Text>
</IGSt>
<IGSt id="5">
<Font>
<Family></Family>
<Style>Normal</Style>
<Color>0 0 0 0</Color>
<Size>0</Size>
<Flags></Flags>
</Font>
<Text xml:space="preserve"> </Text>
</IGSt>
<IGSt id="6">
<Font>
<Family></Family>
<Style>Normal</Style>
<Color>150 150 150</Color>
<Size>8</Size>
<Flags>Color Size</Flags>
</Font>
<Text>And that's a white, smaller text.</Text>
</IGSt>
</Oni>

