XML:CONS: Difference between revisions

From OniGalore
Jump to navigation Jump to search
m (copy edit)
m (used Tree List for file structure)
 
(2 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__
Line 7: Line 7:
* 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===
===File structure===
 
{{Tree list}}
CONS
*CONS
  |
**OFGA
  +-- OFGA
***M3GM (holds <Texture> TXMP link to external file)
        |
****PNTA <Points>
        +-- M3GM (holds <Texture> TXMP link to external file)
****VCRA <VertexNormals>
              |
****VCRA <FaceNormals>
              +-- PNTA <Points>
****TXCA <TextureCoordinates>
              +-- VCRA <VertexNormals>
****IDXA <TriangleStrips>
              +-- VCRA <FaceNormals>
****IDXA <FaceNormalIndices>
              +-- TXCA <TextureCoordinates>
{{Tree list/end}}
              +-- IDXA <TriangleStrips>
              +-- IDXA <FaceNormalIndices>
       
 


===XML tags===
===XML tags===
====CONS====
====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>

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

[...]