Jump to content

OBD talk:TXMP: Difference between revisions

3,270 bytes removed ,  4 November 2012
no edit summary
mNo edit summary
No edit summary
Line 275: Line 275:
::::PS: Reflection means to me a mirrored image. I call ''our'' reflection a fake since it doesn't reflect (mirror) the environment but shows another image. Look at the fury's head closely: there's just the bomb_fire texture inside. --[[User:Paradox-01|Paradox-01]] 17:59, 13 October 2008 (CEST)
::::PS: Reflection means to me a mirrored image. I call ''our'' reflection a fake since it doesn't reflect (mirror) the environment but shows another image. Look at the fury's head closely: there's just the bomb_fire texture inside. --[[User:Paradox-01|Paradox-01]] 17:59, 13 October 2008 (CEST)
:::::If you consider non-convex objects (like two mirrors "seeing" each other), you can see that "real" reflections of the environment would be very heavy to compute (the multiple reflections can require a virtual infinity of rendering passes), so naturally games use more or less elaborate "fakes". Oni's fake is actually quite primitive and a reflective ball, for example, won't look realistic at all as you move around it (I hate that ^_^). But I digress; I was just confused by the word "inside" as you used it. Now... back to cases 1-3: cases 1 and 3 indeed "don't seem to work"; for 3, the engine ignores animations when setting up the envmap; for 1, it's a shame, but the engine ignores animations when setting up the windows, too; 2 ''does'' work, but since OniSplit doesn't allow you to create the right thing directly right now, both of us had to use a workaround and I have no idea where you messed up. Try again ^_^ --[[User:Geyser|geyser]] 02:33, 14 October 2008 (CEST)
:::::If you consider non-convex objects (like two mirrors "seeing" each other), you can see that "real" reflections of the environment would be very heavy to compute (the multiple reflections can require a virtual infinity of rendering passes), so naturally games use more or less elaborate "fakes". Oni's fake is actually quite primitive and a reflective ball, for example, won't look realistic at all as you move around it (I hate that ^_^). But I digress; I was just confused by the word "inside" as you used it. Now... back to cases 1-3: cases 1 and 3 indeed "don't seem to work"; for 3, the engine ignores animations when setting up the envmap; for 1, it's a shame, but the engine ignores animations when setting up the windows, too; 2 ''does'' work, but since OniSplit doesn't allow you to create the right thing directly right now, both of us had to use a workaround and I have no idea where you messed up. Try again ^_^ --[[User:Geyser|geyser]] 02:33, 14 October 2008 (CEST)
==XML section==
{{Template:XMLModdingHints}}
{| border=0 cellspacing=20 cellpadding=0 align=center
| The xml code on this page is compatible with onisplit '''v0.9.61.0'''
|}
{|
{{table}}
! normal texture
! animated texture
! reflective texture
|-
|valign=top|
<?xml version="1.0" encoding="utf-8"?>
<Oni>
    <Texture>
        <Flags>...</Flags>
        <Format>...</Format>
        <Image>...</Image>
    </Texture>
</Oni>
|
<?xml version="1.0" encoding="utf-8"?>
<Oni>
    <Texture>
        <Flags>...</Flags>
        <Format>...</Format>
        <Speed>...</Speed>
        <Image>...</Image>
        <font color="#777777"><Image>...</Image></font>
    </Texture>
</Oni>
|valign=top|
<?xml version="1.0" encoding="utf-8"?>
<Oni>
    <Texture>
        <Flags>...</Flags>
        <Format>...</Format>
        <EnvMap>...</EnvMap>
        <Image>...</Image>
    </Texture>
</Oni>
|}
===<Format>===
{|
{{table}}
!colspan=2|XML flags
!colspan=2|<font color="#999999">command line flags</font>
|-
|up to onisplit v0.9.52.0
|for higher versions
|<font color="#999999">up to onisplit v0.9.52.0</font>
|<font color="#999999">for higher versions</font>
|-
|width=25%|RGB888
|width=25%|'''BGR'''
|width=25%|<font color="#999999">bgr32</font>
|width=25%|'''<font color="#999999">bgr</font>'''
|-
|ARGB8888
|'''RGBA'''
|<font color="#999999">bgra32</font>
|'''<font color="#999999">rgba</font>'''
|-
|RGB555
|'''BGR555'''
|colspan=2 align=center|'''<font color="#999999">bgr555</font>'''
|-
|ARGB5551
|'''BGRA5551'''
|colspan=2 align=center|'''<font color="#999999">bgra5551</font>'''
|-
|ARGB4444
|'''BGRA4444'''
|colspan=2 align=center|'''<font color="#999999">bgra4444</font>'''
|-
|colspan=2 align=center|'''DXT1'''
|colspan=2 align=center|'''<font color="#999999">dxt1</font>'''
|}
Sometimes there's talk about bgra and 32-bit flag; those are for onisplit's command line and are also listed in "-help enums". Don't confuse them with the XML flags and look what onisplit version you are using.
ARGB formats are used for reflective textures.
ARGB8888 can be used only if you use an updated engine. (Mac users also need to [http://oni.bungie.org/community/forum/viewtopic.php?pid=29967#p29967 swap the color channels.])
===<Flags>===
None
HasMipMaps
DisableUWrap
DisableVWrap
Unknown0010
AnimUseLocalTime
<!-- HasEnvMap (used via tag, not flag) -->
AdditiveBlend (makes black texture parts transparent in-game)
AnimBackToBack
AnimRandom
<!-- SwapBytes (automatically added in v0.9.56.0 and above, flag don't becomes exported) -->
AnimIgnoreGlobalTime
ShieldEffect
InvisibilityEffect
DaodanEffect
ShieldEffect, InvisibilityEffect and DaodanEffect are special flags, they can only be used for TXMPshield, TXMPinvis and TXMPDAODAN_SHIELD. The usage of these textures is hardcoded.
===<Speed>===
In integer. This tag is used if xml file is meant to create an animated texture. In that case you use multiple <Image>...
===<EnvMap>===
TXMPfile_name
This tag is used if xml file is meant to create an reflective texture. The file suffixes like .tga or .oni is not used in the EnvMap link.
===<Image>===
Choose between tga/png/dds. (TGA is preferred by the community.)
TXMP''file_name'''''.tga'''
TXMP''file_name''.png
TXMP''file_name''.dds
8,018

edits