XML:IPge: Difference between revisions

From OniGalore
Jump to navigation Jump to search
m (New page: ==IPeg: item page== ===general notes=== {|BORDER=1 CELLSPACING=0 CELLPADDING=2 STYLE="border-style:solid; border-collapse:collapse; empty-cells:show; background-color:#f9f9f9;...)
 
m (link fix)
 
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==[[OBD:IPge|IPeg]]: item page==
{{XML_File_Header | prev=Impt | type=IPge | next=M3GM | name=Item Page}}
===general notes===
 
{|BORDER=1 CELLSPACING=0 CELLPADDING=2 STYLE="border-style:solid; border-collapse:collapse; empty-cells:show; background-color:#f9f9f9;" align=right
==General information==
|width=160px| name
{|class="wikitable" style="float:right"
|width=80px| global / local
|width=160px| '''Name'''
|width=90px| page number
|width=90px| '''Global/Local'''
|width=90px| '''Page number'''
|-
|-
| IPge'''[[Quotes/Items#ammo|ammo]]'''_ballistic.oni
| IPge'''[[Quotes/Items#ammo|ammo]]'''_ballistic.oni
Line 46: Line 47:
| 5
| 5
|}
|}
* See [[XML basic tutorial|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.
* The XML code on this page is compatible with OniSplit '''v0.9.61.0'''.
* An item page can be read for first time when player finds an item linked to its page.
* 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.
* An IGPA instance here will make Oni crash.
* Complete new items aren't possible yet (god knows when).
* For additional information on LSIs, see [[LSI|HERE]].
 
 
 
 
 
 
 
 
 
 
 
 
 


===BSL support===
==BSL support==
* http://ssg.oni2.net/commands.htm#powerup
* 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)
* chr_has_lsi [ai_name:string | script_id:int] - records that the character has the lsi - chr_has_lsi(0)


 
==XML structure==
===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").
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 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.


: IGPG means a page
: IGPG means a page.
: IGSA means a (text) string array
: IGSA means a (text) string array.
: IGSt means a (text) string
: IGSt means a (text) string.
 


example on "IPgekeys":
Example from "IPgekeys":


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


 
==XML tags and options==
===XML tags and options===
'''IPge instance tags'''
'''IPge instance tags'''
: <PageNumber> (item page number)
: <PageNumber> (item page number)
: <Page> (links to IGPG instance)
: <Page> (links to IGPG instance)


'''IGPG instance tags'''
'''IGPG instance tags'''
: <nowiki><nowiki><Font></nowiki></nowiki> (defines the font in case it isn't defined in the IGSt instance; the style is bold by default)
: <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 105: Line 90:
::: '''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 116: Line 101:


'''IGSt instance tags'''
'''IGSt instance tags'''
: <nowiki><nowiki><Font></nowiki></nowiki>
: <nowiki><Font></nowiki>
:: <Family>
:: <Family>
::: TSFFTahoma
::: TSFFTahoma
Line 125: Line 110:
:: <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 132: Line 117:
:: <Text> (contains the actual text but can also create a bare paragraph)
:: <Text> (contains the actual text but can also create a bare paragraph)


==Example==
'''IPgekeys.xml''':


===example===
[[Image:XML_IPge.jpg|400px|right|thumb]]
{| border=0 cellspacing=20 cellpadding=0 align=right
| [http://i305.photobucket.com/albums/nn207/unknownfuture/Oni_Galore_Images/XML_modding/IPge.png http://i305.photobucket.com/albums/nn207/unknownfuture/Oni_Galore_Images/XML_modding/IPge_preview.png]
|}


  <?xml version="1.0" encoding="utf-8"?>
  <?xml version="1.0" encoding="utf-8"?>
  <Oni Version="0.9.34.0">
  <Oni>
     <Instance id="0" type="IPge">
     <IPge id="0">
         <PageNumber>5</PageNumber>
         <PageNumber>5</PageNumber>
         <Page>#1</Page>
         <Page>#1</Page>
     </Instance>
     </IPge>


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 small image if you use the image tag in the IGPG instance. (Either a non-animated TXMP or a [[XML:PSpc|PSpc]].)


     <Instance id="1" type="IGPG">
     <IGPG id="1">
         <nowiki><Font></nowiki>
         <nowiki><Font></nowiki>
             <Family></Family>
             <Family></Family>
Line 158: Line 142:
         <Text1>#3</Text1>
         <Text1>#3</Text1>
         <Text2>#4</Text2>
         <Text2>#4</Text2>
     </Instance>
     </IGPG>
     <Instance id="3" type="IGSA">
     <IGSA id="3">
         <Strings>
         <Strings>
             <Link>#7</Link>
             <Link>#7</Link>
         </Strings>
         </Strings>
     </Instance>
     </IGSA>
     <Instance id="4" type="IGSA">
     <IGSA id="4">
         <Strings>
         <Strings>
             <Link>#5</Link>
             <Link>#5</Link>
             <Link>#6</Link>
             <Link>#6</Link>
         </Strings>
         </Strings>
     </Instance>
     </IGSA>
     <Instance id="5" type="IGSt">
     <IGSt id="7">
         <nowiki><Font></nowiki>
         <nowiki><Font></nowiki>
             <Family></Family>
             <Family></Family>
Line 178: Line 162:
             <Flags></Flags>
             <Flags></Flags>
         <nowiki></Font></nowiki>
         <nowiki></Font></nowiki>
         <Text>Hint:</Text>
         <Text>TRUCK KEYS..........................................</Text>
     </Instance>
     </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 IPgekeys.)
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.)


     <Instance id="6" type="IGSt">
     <IGSt id="5">
         <nowiki><Font></nowiki>
         <nowiki><Font></nowiki>
             <Family></Family>
             <Family></Family>
Line 191: Line 175:
             <Flags></Flags>
             <Flags></Flags>
         <nowiki></Font></nowiki>
         <nowiki></Font></nowiki>
         <Text>Maybe the truck can help you get through the doors to the computer core...</Text>
         <Text>Hint:</Text>
     </Instance>
     </IGSt>
     <Instance id="7" type="IGSt">
     <IGSt id="6">
         <nowiki><Font></nowiki>
         <nowiki><Font></nowiki>
             <Family></Family>
             <Family></Family>
Line 201: Line 185:
             <Flags></Flags>
             <Flags></Flags>
         <nowiki></Font></nowiki>
         <nowiki></Font></nowiki>
         <Text>TRUCK KEYS..........................................</Text>
         <Text>Maybe the truck can help you get through the doors to the computer core...</Text>
     </Instance>
     </IGSt>
  </Oni>
  </Oni>


 
==Related files==
===related files===
{|class="wikitable"
{|BORDER=1 CELLSPACING=0 CELLPADDING=2 STYLE="border-style:solid; border-collapse:collapse; empty-cells:show; background-color:#f9f9f9;"
!width=120px| Powerup/LSI
|width=120px| Powerups / LSI
!width=150px| Object
|width=150px| M3GM
!width=150px| Object texture
|width=150px| TXMP
!width=150px| Glow texture
|width=150px| TXMP
!width=180px| Location
|width=150px| location
|-
|-
|
|
Line 245: Line 228:
global (level0)
global (level0)
|-
|-
| LSI
! LSI
| M3GM
! Object
| TXMP
! Icon texture
| TXMP
! Object texture
| location
! Location
|-
|-
|
|
Line 276: Line 259:
TXMPlsi_keystex.oni<br>
TXMPlsi_keystex.oni<br>
|
|
local (level1_Final/LSI)<br>
local (level1_Final)<br>
local (level6_Final/LSI)<br>
local (level6_Final)<br>
local (level8_Final/LSI)<br>
local (level8_Final)<br>
local (level12_Final/LSI)<br>
local (level12_Final)<br>
local (level19_Final/LSI)
local (level19_Final)
|}
|}
{{XML}}

Latest revision as of 14:42, 31 March 2021

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)