XML:IPge: Difference between revisions
Paradox-01 (talk | contribs) m (in case someone appears with an old AE version) |
Paradox-01 (talk | contribs) mNo edit summary |
||
Line 50: | Line 50: | ||
* An item page can be read for first time when player finds an item linked to its page. | * An item page can be read for first time when player finds an item linked to its page. | ||
* An IGPA instance here will make Oni crash. | * An IGPA instance here will make Oni crash. | ||
Line 74: | Line 61: | ||
: Every IPge contains one instance of type IGPG. | : Every IPge contains one instance of type IGPG. | ||
: Every IGPG contains two instances of type IGSA. | : Every IGPG contains two instances of type IGSA. (One for the main section, one for the hint section.) | ||
: Every IGSA contains a number of instances of type IGSt. | : Every IGSA contains a number of instances of type IGSt. | ||
Line 98: | Line 85: | ||
'''IGPG instance tags''' | '''IGPG instance tags''' | ||
: | : <nowiki><Font></nowiki> (defines the font in case it isn't defined in the IGSt instance; the style is bold by default) | ||
:: <Family> | :: <Family> | ||
::: TSFFTahoma | ::: TSFFTahoma | ||
Line 116: | Line 103: | ||
'''IGSt instance tags''' | '''IGSt instance tags''' | ||
: | : <nowiki><Font></nowiki> | ||
:: <Family> | :: <Family> | ||
::: TSFFTahoma | ::: TSFFTahoma |
Revision as of 13:38, 22 May 2010
IPeg: item page
general notes
name | global / local | page number |
IPgeammo_ballistic.oni | level0 | 0 |
IPgeammo_energy.oni | level0 | 1 |
IPgehypo.oni | level0 | 2 |
IPgeshield.oni | level0 | 3 |
IPgeinvisibility.oni | level0 | 4 |
IPgedatapad.oni (LSI) | level1 | 5 |
IPgeharness.oni (LSI) | level6 | 5 |
IPgetorch.oni (LSI) | level8 | 5 |
IPgezip.oni (LSI) | level12 | 5 |
IPgekeys.oni (LSI) | level19 | 5 |
- See HERE if you don't know how to convert an oni file into XML and vice versa.
- Some IPge*.oni are global (located in level0_...), other are local, see table.
- An item page can be read for first time when player finds an item linked to its page.
- An IGPA instance here will make Oni crash.
BSL support
- http://ssg.oni2.net/commands.htm#powerup
- chr_has_lsi [ai_name:string | script_id:int] - records that the character has the lsi - chr_has_lsi(0)
XML structure
Think of "instances" (#N) as file sections, they go from 1 to N. 0 is the header (it defines the file type, here "IPge").
- Every IPge contains one instance of type IGPG.
- Every IGPG contains two instances of type IGSA. (One for the main section, one for the hint section.)
- Every IGSA contains a number of instances of type IGSt.
- IGPG means a page
- IGSA means a (text) string array
- IGSt means a (text) string
example on "IPgekeys":
- #0 (IPge instance) links to #1 (IGPG instance)
- #1 (IGPG instance) links to #3 and #4 (IGSA instances)
- #2 (unknown placeholder, only presented in original files) (can be ignored)
- #3 (IGSA instance) links from #5 up to #6 (IGSt instances)
- #4 (IGSA instance) links to #7 (IGSt instance)
XML tags and options
IPge instance tags
- <PageNumber> (item page number)
- <Page> (links to IGPG instance)
IGPG instance tags
- <Font> (defines the font in case it isn't defined in the IGSt instance; the style is bold by default)
- <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 (main field))
- <Text2> (links to an IGSA instance (hint field))
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)
- <Family>
example
<?xml version="1.0" encoding="utf-8"?> <Oni Version="0.9.34.0"> <Instance id="0" type="IPge"> <PageNumber>5</PageNumber> <Page>#1</Page> </Instance>
You can display a little image if you use the image tag in the IGPG instance. (Either non-animated TXMP or PSpc.)
<Instance id="1" type="IGPG"> <Font> <Family></Family> <Style>Normal</Style> <Color>0 0 0 0</Color> <Size>0</Size> <Flags></Flags> </Font> <Image>TXMPkeys</Image> <Text1>#3</Text1> <Text2>#4</Text2> </Instance> <Instance id="3" type="IGSA"> <Strings> <Link>#7</Link> </Strings> </Instance> <Instance id="4" type="IGSA"> <Strings> <Link>#5</Link> <Link>#6</Link> </Strings> </Instance> <Instance id="5" type="IGSt"> <Font> <Family></Family> <Style>Normal</Style> <Color>0 0 0 0</Color> <Size>0</Size> <Flags></Flags> </Font> <Text>Hint:</Text> </Instance>
A space between the text tags (<Text> </Text>) can produce a new paragraph. The import ignores that so far but you can fix it by writing "<Text xml:space="preserve"> </Text>". (Not used in IPgekeys.)
<Instance id="6" type="IGSt"> <Font> <Family></Family> <Style>Normal</Style> <Color>0 0 0 0</Color> <Size>0</Size> <Flags></Flags> </Font> <Text>Maybe the truck can help you get through the doors to the computer core...</Text> </Instance> <Instance id="7" type="IGSt"> <Font> <Family></Family> <Style>Normal</Style> <Color>0 0 0 0</Color> <Size>0</Size> <Flags></Flags> </Font> <Text>TRUCK KEYS..........................................</Text> </Instance> </Oni>
Powerups / LSI | M3GM | TXMP | TXMP | location |
ammo_ballistic |
M3GMpowerup_ammo.oni |
TXMPpoweruptex_ammo.oni |
TXMPglowtex_ammo.oni |
global (level0) |
LSI | M3GM | TXMP | TXMP | location |
datapad |
M3GMpowerup_lsi.oni |
TXMPlsi_icon.oni |
TXMPlsi_palmtex.oni |
local (level1_Final/NoGlobal) |
differences in AE versions
LSI location has changed in AE's 2009-7 release, in 2008-8 and older it was "levelX_Final/LSI".