XML:CONS: Difference between revisions

From OniGalore
Jump to navigation Jump to search
mNo edit summary
m (used Tree List for file structure)
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{XML_File_Header | type=CONS | prev=CBPM | next=CRSA | name=Console }}
{{XML_File_Header | prev=BINA/OBJC/CHAR | prev_display=BINA | type=CONS | next=DOOR | name=Console}}


__TOC__
__TOC__


'''general information'''
===General information===
* The xml code on this page was tested with onisplit '''v0.9.96.0'''
* The XML code on this page was tested with OniSplit '''v0.9.96.0'''
* CONS files are stored globally (AE/GameDataFolder/level0_Final)
* CONS files are stored globally (AE/GameDataFolder/level0_Final)
* CONS files are used by [[XML:BINA/OBJC/CONS|BINACJBOCONS]] <Class>
* CONS files are used by [[XML:BINA/OBJC/CONS|BINACJBOCONS]] <Class>


===File structure===
{{Tree list}}
*CONS
**OFGA
***M3GM (holds <Texture> TXMP link to external file)
****PNTA <Points>
****VCRA <VertexNormals>
****VCRA <FaceNormals>
****TXCA <TextureCoordinates>
****IDXA <TriangleStrips>
****IDXA <FaceNormalIndices>
{{Tree list/end}}


 
===XML tags===
'''file structure'''
====CONS====
 
CONS
  |
  +-- OFGA
        |
        +-- M3GM (holds <Texture> TXMP link to external file)
              |
              +-- PNTA <Points>
              +-- VCRA <VertexNormals>
              +-- VCRA <FaceNormals>
              +-- TXCA <TextureCoordinates>
              +-- IDXA <TriangleStrips>
              +-- IDXA <FaceNormalIndices>
       
 
 
==XML tags==
 
===CONS===
 
{|class="wikitable" width="100%"
{|class="wikitable" width="100%"
!width=200px| tag
!width=200px| XML tag
!width=100px| type
!width=100px| Content type
! description
! Description
|-
|-
|valign=top| <Flags>
|valign=top| <Flags>
Line 43: Line 35:
|valign=top| <Position>
|valign=top| <Position>
|valign=top| float x3
|valign=top| float x3
| This is used to compute where the character should stay to use the console. In console coordinates.
| This is used to compute where the character should stand to use the console. In console coordinates.
|-
|-
|valign=top| <Orientation>
|valign=top| <Orientation>
Line 55: Line 47:
| <ScreenGeometry>
| <ScreenGeometry>
| link
| link
| absolute / relative path to a *.dae file
| absolute/relative path to a *.dae file
|-
|-
|valign=top| <ScreenGunkFlags>
|valign=top| <ScreenGunkFlags>
Line 92: Line 84:




===OFGA===
====OFGA====
Read on '''[[XML:OFGA|HERE]]'''.
Read about this related type '''[[XML:OFGA|HERE]]'''.




===sample code===
===Sample code===
'''CONSconsole_alarm.xml'''
'''CONSconsole_alarm.xml'''


Line 129: Line 121:




==geometry export==
===Geometry export===
[...]
[...]




==geometry import==
===Geometry import===
[...]
[...]




==using a new console class==
===Using a new console class===
[...]
[...]




<!--
<!--
==Mod Tool addon==
===Mod Tool addon===
-->
-->



Latest revision as of 15:42, 13 May 2024

CONS : Console
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

BINA << Other file types >> DOOR

switch to OBD page

General information

  • The XML code on this page was tested with OniSplit v0.9.96.0
  • CONS files are stored globally (AE/GameDataFolder/level0_Final)
  • CONS files are used by BINACJBOCONS <Class>

File structure

  • CONS
    • OFGA
      • M3GM (holds <Texture> TXMP link to external file)
        • PNTA <Points>
        • VCRA <VertexNormals>
        • VCRA <FaceNormals>
        • TXCA <TextureCoordinates>
        • IDXA <TriangleStrips>
        • IDXA <FaceNormalIndices>

XML tags

CONS

XML tag Content type Description
<Flags> flag The "alarm console" flag decides what autoprompt is displayed when the character is close to a console ("autoprompt_useconsole" or "autoprompt_usealarm").
AlarmConsole
<Position> float x3 This is used to compute where the character should stand to use the console. In console coordinates.
<Orientation> float x3 This is used to compute where the character should face to use the console. In console coordinates.
<ConsoleGeometry> link OFGA instance number (#N)
<ScreenGeometry> link absolute/relative path to a *.dae file
<ScreenGunkFlags> flag AGQG (Gunk) flags (trimmed list)

see OniSplit -help enums for more flags

None
NoCollision
NoObjectCollision
NoCharacterCollision
NoDecal
TwoSided
Invisible
<InactiveTexture> char[32] The screen textures specified here are used only if CONS object has empty texture names.

TXMPfile_name.oni (don't use file prefix/suffix)

<ActiveTexture> char[32]

The screen textures specified here are used only if CONS object has empty texture names.

TXMPfile_name.oni (don't use file prefix/suffix)

<UsedTexture> char[32] The screen textures specified here are used only if CONS object has empty texture names.

TXMPfile_name.oni (don't use file prefix/suffix)


OFGA

Read about this related type HERE.


Sample code

CONSconsole_alarm.xml

<?xml version="1.0" encoding="utf-8"?>
<Oni>
    <CONS id="0">
        <Flags>AlarmConsole</Flags>
        <Position>0.008397624 11.7258873 3.22773027</Position>
        <Orientation>4.47035E-09 0 1</Orientation>
        <ConsoleGeometry>#1</ConsoleGeometry>
        <ScreenGeometry>console_alarm_2.dae</ScreenGeometry>
        <ScreenGunkFlags>NoCharacterCollision NoOcclusion</ScreenGunkFlags>
        <InactiveTexture>NONE</InactiveTexture>
        <ActiveTexture>NONE</ActiveTexture>
        <UsedTexture>NONE</UsedTexture>
    </CONS>
    <OFGA id="1">
        <EnvParticle></EnvParticle>
        <Elements>
            <OFGAElement>
                <GunkFlags>NoCharacterCollision NoOcclusion</GunkFlags>
                <Geometry>console_alarm_10.dae</Geometry>
            </OFGAElement>
            <OFGAElement>
                <GunkFlags>Invisible NoObjectCollision</GunkFlags>
                <Geometry>console_alarm_11.dae</Geometry>
            </OFGAElement>
        </Elements>
    </OFGA>
</Oni>


Geometry export

[...]


Geometry import

[...]


Using a new console class

[...]