DB/ScreenEffect: Difference between revisions

From wowdev
Jump to navigation Jump to search
No edit summary
 
(12 intermediate revisions by 6 users not shown)
Line 1: Line 1:
This one is used for on-screen-effects that modify colors. They can be seen in several questlines such as those in Ebon Hold. The file got added in Wrath of the Lich King. Its called from several spells like [http://www.wowhead.com/?spell=50010 BOTM - Jungle Brew - Jungle Madness Vision Effect] (Apply Aura: #260 (61 ["BOTM - Jungle Madness"]).
This one is used for on-screen-effects that modify colors. They can be seen in several questlines such as those in Ebon Hold. Its called from several spells like {{Template:Data/Spell|id=50010|name=BOTM - Jungle Brew - Jungle Madness Vision Effect}} (Apply Aura: #260 (61 ["BOTM - Jungle Madness"]).


*ID int
{{Template:Sandbox/VersionRange|min_expansionlevel=3}}
*Name str
*Unk int
*Col color, see in hex. rrggbbxx (at least seems to be.)
*flags int
*unk int
*unk void
*unk int
*SoundAmbience iRefId
*ZoneMusic iRefId


1 ID int
2 Name str
3 Type int
  0: ffxEffectGlow
  1: ffxEffectDeath
  2: ffxEffectNetherWorld
  3: ffxEffectSwirlingFog
4 Col color, see in hex. rrggbbxx
5 edge int Screen Edge Size
6 bw int (the higher this is.. the more Black and White the screen will go)
7 unk null
8 LightParams iRefId
9 SoundAmbience iRefId
10 ZoneMusic iRefId


This seem to be incorrect.
==16464==
 
struct ScreenEffectRec
i found something like this
{
 
  enum ScreenEffectType : unsigned int
ID _INT
  {
Name _STRING
    ffxEffectGlow = 0,
Kind _INT
    ffxEffectDeath = 1,
  0 = Nothing
    ffxEffectNetherWorld = 2,
  1 = BW / Death Effect
    ffxEffectSwirlingFog = 3,
  2 = Invisibility Effect (like mages)
    ffxEffectUnconscious = 4, // new in MoP or Cataclysm?
  3 = Screen Edge Effect
  };
Color _INT(hex) RRBBGG (only applies for Edge Screen Effect)
  int id;
  Screen Edge Size _INT
  const char* name;
  Black / White _INT (the higher this is.. the more Black and White the screen will go)
  ScreenEffectType type;
 
  union
the rest is unknown
  {
    int data[4];
    struct
    {
      int unused[3];
      int flags; // &2: use skybox from lightParams
    } glow;
    struct
    {
      int _1; // parameter for PassFogSeed. tint color?
      int _2; // parameter for PassPropagateFog: _2 / 255.0 * 0.9
      int _3; // parameter for PassFogCombine: _3 / 100.0
    } swirlingFog;
    struct
    {
      int _[3]; // parameters for PassGlowFade
      int flags; // &1: ?, &2: use skybox from lightParams
    } unconscious;
  } params;
  {{Template:Type/foreign_key|table=LightParams}} lightParamsId; // ignored unless params.*.flags & 2. Only uses skybox.
  {{Template:Type/foreign_key|table=SoundAmbience}} soundAmbienceId;
  {{Template:Type/foreign_key|table=ZoneMusic}} zoneMusicId;
  int todOverride; // new with MoP or Cataclysm? -1 for none, [0, 1440]
  };
==6.0.1.18179==
  struct ScreenEffectRec {
  uint32_t m_id;
  {{Template:Type|stringref}} m_name;
  uint32_t m_effect;
  uint32_t m_param[4];
  {{Template:Type/foreign_key|table=LightParams}} m_lightParamsID;
  uint32_t m_lightParamsFadeIn;
  uint32_t m_lightParamsFadeOut;
  uint32_t m_lightFlags;        // &1: use skybox from lightParams <code>CGWorldFrame::ClearScreenEffects</code>
  {{Template:Type/foreign_key|table=SoundAmbience}} m_soundAmbienceID;
  {{Template:Type/foreign_key|table=ZoneMusic}} m_zoneMusicID;
  uint32_t m_timeOfDayOverride;
  uint32_t m_effectMask;
};


[[Category:DBC]]
[[Category:DBC]]
[[Category:DBC_WotLK]]
[[Category:DBC_WoD]][[Category:6.0.1.18179]]

Latest revision as of 17:37, 26 June 2018

This one is used for on-screen-effects that modify colors. They can be seen in several questlines such as those in Ebon Hold. Its called from several spells like BOTM - Jungle Brew - Jungle Madness Vision Effect (Apply Aura: #260 (61 ["BOTM - Jungle Madness"]).

≥ Wrath

1 ID int
2 Name str
3 Type int
  0: ffxEffectGlow
  1: ffxEffectDeath
  2: ffxEffectNetherWorld
  3: ffxEffectSwirlingFog
4 Col color, see in hex. rrggbbxx
5 edge int Screen Edge Size
6 bw int (the higher this is.. the more Black and White the screen will go)
7 unk null
8 LightParams iRefId
9 SoundAmbience iRefId
10 ZoneMusic iRefId

16464

struct ScreenEffectRec
{
  enum ScreenEffectType : unsigned int
  {
    ffxEffectGlow = 0,
    ffxEffectDeath = 1,
    ffxEffectNetherWorld = 2,
    ffxEffectSwirlingFog = 3,
    ffxEffectUnconscious = 4, // new in MoP or Cataclysm?
  };
  int id;
  const char* name;
  ScreenEffectType type; 
  union
  {
    int data[4];
    struct
    {
      int unused[3];
      int flags; // &2: use skybox from lightParams
    } glow;
    struct
    {
      int _1; // parameter for PassFogSeed. tint color?
      int _2; // parameter for PassPropagateFog: _2 / 255.0 * 0.9
      int _3; // parameter for PassFogCombine: _3 / 100.0
    } swirlingFog;
    struct
    {
      int _[3]; // parameters for PassGlowFade
      int flags; // &1: ?, &2: use skybox from lightParams
    } unconscious;
  } params;
  foreign_key<uint32_t, &LightParamsRec::m_ID> lightParamsId; // ignored unless params.*.flags & 2. Only uses skybox.
  foreign_key<uint32_t, &SoundAmbienceRec::m_ID> soundAmbienceId;
  foreign_key<uint32_t, &ZoneMusicRec::m_ID> zoneMusicId;
  int todOverride; // new with MoP or Cataclysm? -1 for none, [0, 1440]
};

6.0.1.18179

struct ScreenEffectRec {
  uint32_t m_id;
  stringref m_name;
  uint32_t m_effect;
  uint32_t m_param[4];
  foreign_key<uint32_t, &LightParamsRec::m_ID> m_lightParamsID;
  uint32_t m_lightParamsFadeIn;
  uint32_t m_lightParamsFadeOut;
  uint32_t m_lightFlags;        // &1: use skybox from lightParams CGWorldFrame::ClearScreenEffects
  foreign_key<uint32_t, &SoundAmbienceRec::m_ID> m_soundAmbienceID;
  foreign_key<uint32_t, &ZoneMusicRec::m_ID> m_zoneMusicID;
  uint32_t m_timeOfDayOverride;
  uint32_t m_effectMask;
};