XML:IPge

From OniGalore
Revision as of 14:42, 31 March 2021 by Iritscen (talk | contribs) (link fix)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
IPge : Item Page
XML modding tips
  • See HERE to start learning about XML modding.
  • See HERE if you are searching for information on how to handle object coordinates.
  • See HERE for some typical modding errors and their causes.
XML.png
XML

Impt << Other file types >> M3GM

switch to OBD page

General information

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
  • The XML code on this page is compatible with OniSplit v0.9.61.0.
  • Some IPge*.oni files are global (located in level0_...) and others are local; see table on right.
  • An item page can be read for the first time when the player finds the item that links to the page.
  • An IGPA instance here will make Oni crash.
  • For additional information on LSIs, see HERE.

BSL support

XML structure

Think of "instances" (#N) as file sections: they run 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 from "IPgekeys":

#0 (IPge instance) links to #1 (IGPG instance)
#1 (IGPG instance) links to #3 and #4 (IGSA instances)
#2 (unknown placeholder, only present 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)
<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 have its 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)

Example

IPgekeys.xml:

XML IPge.jpg
<?xml version="1.0" encoding="utf-8"?>
<Oni>
   <IPge id="0">
       <PageNumber>5</PageNumber>
       <Page>#1</Page>
   </IPge>

You can display a small image if you use the image tag in the IGPG instance. (Either a non-animated TXMP or a PSpc.)

   <IGPG id="1">
       <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>
   </IGPG>
   <IGSA id="3">
       <Strings>
           <Link>#7</Link>
       </Strings>
   </IGSA>
   <IGSA id="4">
       <Strings>
           <Link>#5</Link>
           <Link>#6</Link>
       </Strings>
   </IGSA>
   <IGSt id="7">
       <Font>
           <Family></Family>
           <Style>Normal</Style>
           <Color>0 0 0 0</Color>
           <Size>0</Size>
           <Flags></Flags>
       </Font>
       <Text>TRUCK KEYS..........................................</Text>
   </IGSt>

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 this example.)

   <IGSt id="5">
       <Font>
           <Family></Family>
           <Style>Normal</Style>
           <Color>0 0 0 0</Color>
           <Size>0</Size>
           <Flags></Flags>
       </Font>
       <Text>Hint:</Text>
   </IGSt>
   <IGSt id="6">
       <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>
   </IGSt>
</Oni>

Related files

Powerup/LSI Object Object texture Glow texture Location

ammo_ballistic
ammo_energy
hypo
shield
invisibility
LSI

M3GMpowerup_ammo.oni
M3GMpowerup_cell.oni
M3GMpowerup_hypo.oni
M3GMpowerup_shield.oni
M3GMpowerup_invis.oni
-

TXMPpoweruptex_ammo.oni
TXMPpoweruptex_cell.oni
TXMPpoweruptex_hypo.oni
TXMPpoweruptex_shield.oni
TXMPpoweruptex_invis.oni
-

TXMPglowtex_ammo.oni
TXMPglowtex_cell.oni
TXMPglowtex_hypo.oni
TXMPglowtex_shield.oni
TXMPglowtex_invis.oni
TXMPglowtex_lsi.oni

global (level0)

LSI Object Icon texture Object texture Location

datapad
harness
torch
zip
keys

M3GMpowerup_lsi.oni
M3GMpowerup_lsi.oni
M3GMpowerup_lsi.oni
M3GMpowerup_lsi.oni
M3GMpowerup_lsi.oni

TXMPlsi_icon.oni
TXMPlsi_icon.oni
TXMPlsi_icon.oni
TXMPlsi_icon.oni
TXMPlsi_icon.oni

TXMPlsi_palmtex.oni
TXMPlsi_trackertex.oni
TXMPlsi_torchtex.oni
TXMPlsi_ziptex.oni
TXMPlsi_keystex.oni

local (level1_Final)
local (level6_Final)
local (level8_Final)
local (level12_Final)
local (level19_Final)