XML:WPge

From OniGalore
Revision as of 02:25, 1 April 2021 by Iritscen (talk | contribs) (copy-edit)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
WPge : Weapon 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

WMM << Other file types >> AISA

switch to OBD page

General information

  • The XML on this page is compatible with OniSplit v0.9.61.0.
  • WPges are global (level0_Final.dat).
  • A weapon page becomes available to read on the Pause Screen when the player finds the weapon linked to that page.
  • An IGPA instance here will make Oni crash.

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 "WPge").

Every WPge contains one instance of type IGPG.
Every IGPG contains two instances of type IGSA.
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 WPgew1_tap:

#0 (WPge instance) links to #1 (IGPG instance)
#1 (unknown placeholder, only present in original files) (can be ignored)
#2 (IGPG instance) links to #4 and #5 (IGSA instances)
#3 (unknown placeholder, only present in original files) (can be ignored)
#4 (IGSA instance) links from #9 up to #14 (IGSt instances)
#5 (IGSA instance) links from #6 up to #8 (IGSt instances)

XML tags and options

WPge instance tags

<WeaponClass> (file name without prefix "ONWC" and suffix ".oni")
<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)
<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 (see example at instance #13))

Example

XML WPge w1 tap.jpg
XML WPge Silenced Machine Gun.jpg
<?xml version="1.0" encoding="utf-8"?>
<Oni>
   <WPge id="0">
       <WeaponClass>ONWCw1_tap</WeaponClass>
       <Page>#2</Page>
   </WPge>

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

<Text2> is used for the hint field — see examples at right.

   <IGPG id="2">
       <Font>
           <Family></Family>
           <Style>Normal</Style>
           <Color>0 0 0 0</Color>
           <Size>0</Size>
           <Flags></Flags>
       </Font>
       <Image>TXMPtctf_autopistol</Image>
       <Text1>#4</Text1>
       <Text2>#5</Text2>
   </IGPG>

Instance #13 uses a space between the text tags (<Text> </Text>) to produce a new paragraph. OniSplit currently ignores that space, but you can fix it by writing "<Text xml:space="preserve"> </Text>".

   <IGSA id="4">
       <Strings>
           <Link>#9</Link>
           <Link>#10</Link>
           <Link>#11</Link>
           <Link>#12</Link>
           <Link>#13</Link>
           <Link>#14</Link>
       </Strings>
   </IGSA>
   <IGSA id="5">
       <Strings>
           <Link>#6</Link>
           <Link>#7</Link>
           <Link>#8</Link>
       </Strings>
   </IGSA>
   <IGSt id="9">
       <Font>
           <Family></Family>
           <Style>Normal</Style>
           <Color>0 0 0 0</Color>
           <Size>0</Size>
           <Flags></Flags>
       </Font>
       <Text>Name.....................Campbell Equalizer Mk4</Text>
   </IGSt>
   <IGSt id="10">
       <Font>
           <Family></Family>
           <Style>Normal</Style>
           <Color>0 0 0 0</Color>
           <Size>0</Size>
           <Flags></Flags>
       </Font>
       <Text>Ammunition Type.................Ballistic Ammo</Text>
   </IGSt>
   <IGSt id="11">
       <Font>
           <Family></Family>
           <Style>Normal</Style>
           <Color>0 0 0 0</Color>
           <Size>0</Size>
           <Flags></Flags>
       </Font>
       <Text>Magazine Capacity......................10 rounds</Text>
   </IGSt>
   <IGSt id="12">
       <Font>
           <Family></Family>
           <Style>Normal</Style>
           <Color>0 0 0 0</Color>
           <Size>0</Size>
           <Flags></Flags>
       </Font>
       <Text>Fire Rate.....................5 rounds per second</Text>
   </IGSt>
   <IGSt id="13">
       <Font>
           <Family></Family>
           <Style>Normal</Style>
           <Color>0 0 0 0</Color>
           <Size>0</Size>
           <Flags></Flags>
       </Font>
       <Text> </Text>
   </IGSt>
   <IGSt id="14">
       <Font>
           <Family></Family>
           <Style>Normal</Style>
           <Color>0 0 0 0</Color>
           <Size>0</Size>
           <Flags></Flags>
       </Font>
       <Text>The Equalizer is the standard issue TCTF sidearm. It has undergone a number of refinements since the original model appeared during the World Coalition Government's rise to power.</Text>
   </IGSt>
   <IGSt id="6">
       <Font>
           <Family></Family>
           <Style>Normal</Style>
           <Color>0 0 0 0</Color>
           <Size>0</Size>
           <Flags></Flags>
       </Font>
       <Text>Hint:</Text>
   </IGSt>
   <IGSt id="7">
       <Font>
           <Family></Family>
           <Style>Normal</Style>
           <Color>0 0 0 0</Color>
           <Size>0</Size>
           <Flags></Flags>
       </Font>
       <Text>This weapon has high recoil.</Text>
   </IGSt>
   <IGSt id="8">
       <Font>
           <Family></Family>
           <Style>Normal</Style>
           <Color>0 0 0 0</Color>
           <Size>0</Size>
           <Flags></Flags>
       </Font>
       <Text>Compensate when firing on full auto.</Text>
   </IGSt>
</Oni>