XML:WPge: Difference between revisions

From OniGalore
Jump to navigation Jump to search
m (Iritscen moved page OBD talk:WPge to XML:WPge without leaving a redirect)
m (copy-edit)
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==[[OBD:WPge|WPeg]]: weapon page==
{{XML_File_Header | prev=WMM | type=WPge | next=AISA | name=Weapon Page}}


{{Template:XMLModdingHints}}
==General information==
{| border=0 cellspacing=20 cellpadding=0 align=center
* The XML on this page is compatible with OniSplit '''v0.9.61.0'''.
| The xml code 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.
 
 
* '''WPge*.oni''' are global. (They can be found in edition/GameDataFolder/level0_...)
* A weapon page can be read for first time when player finds a weapon linked to its page.
* An IGPA instance here will make Oni crash.
* An IGPA instance here will make Oni crash.


 
==XML structure==
===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").
Think of "instances" (#N) as file sections, they go from 1 to N. 0 is the header (it defines the file type, here "WPge").


Line 23: Line 18:
: IGSt means a (text) string
: IGSt means a (text) string


 
Example from WPgew1_tap:
example on "WPgew1_tap":


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


 
==XML tags and options==
===XML tags and options===
'''WPge instance tags'''
'''WPge instance tags'''
: <WeaponClass> (file name without prefix "ONWC" and suffix ".oni")
: <WeaponClass> (file name without prefix "ONWC" and suffix ".oni")
Line 47: Line 40:
::: '''Bold'''
::: '''Bold'''
::: ''Italic''
::: ''Italic''
:: <Color> ([[wikipedia:RGB_color_model#The_24-bit_RGB_representation|RGB]] range, e.g. <Color>255 0 77</Color>)
:: <Color> ([[wikipedia:RGB_color_model#Numeric_representations|RGB]] range, e.g. <Color>255 0 77</Color>)
:: <Size> (10 and 12 are usually used)
:: <Size> (10 and 12 are usually used)
: <Image> (links to a TXMP or PSpc file)
: <Image> (links to a TXMP or PSpc file)
Line 67: Line 60:
:: <Color>
:: <Color>
:: <Size>
:: <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..)
:: <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.)
::: <font style="color:#777">Family</font>
::: <font style="color:#777">Family</font>
::: Style
::: Style
Line 74: Line 67:
:: <Text> (contains the actual text but can also create a bare paragraph (see example at instance #13))
:: <Text> (contains the actual text but can also create a bare paragraph (see example at instance #13))


 
==Example==
===example===
[[Image:XML_WPge_w1_tap.jpg|thumb|200px]]
{| border=0 cellspacing=20 cellpadding=0 align=right
[[Image:XML_WPge_Silenced_Machine_Gun.jpg|thumb|200px]]
| [http://i305.photobucket.com/albums/nn207/unknownfuture/Oni_Galore_Images/XML_modding/WPge_tap.png http://i305.photobucket.com/albums/nn207/unknownfuture/Oni_Galore_Images/XML_modding/WPge_tap_preview.png]<br>
[http://i305.photobucket.com/albums/nn207/unknownfuture/Oni_Galore_Images/XML_modding/WPge.png http://i305.photobucket.com/albums/nn207/unknownfuture/Oni_Galore_Images/XML_modding/WPge_preview.png]
|}


  <?xml version="1.0" encoding="utf-8"?>
  <?xml version="1.0" encoding="utf-8"?>
Line 88: Line 78:
     </WPge>
     </WPge>


You can display a little image if you use the image tag in the IGPG instance. (Either non-animated TXMP or [[OBD_talk:PSpc|PSpc]].)
You can display a small image if you use the image tag in the IGPG instance. (Either a non-animated TXMP or a [[XML:PSpc|PSpc]].)


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


     <IGPG id="2">
     <IGPG id="2">
Line 105: Line 95:
     </IGPG>
     </IGPG>


Instance #13 has a space between the text tags (<Text> </Text>) to produce a new paragraph. The import ignores that so far but you can fix it by writing "<Text xml:space="preserve"> </Text>".
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">
     <IGSA id="4">
Line 215: Line 205:
     </IGSt>
     </IGSt>
  </Oni>
  </Oni>
{{XML}}

Revision as of 00:25, 1 April 2021

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>