DB/ScreenEffect

From wowdev
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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;
};