DB/EmotesText: Difference between revisions

From wowdev
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==3.3.5.12340==
==0.5.3.3368, 1.12.1.5875, 3.3.5.12340, 6.0.1.18179==
struct EmotesTextRec {
  uint32_t m_ID;
  {{Template:Type|stringref}} m_name;
  {{Template:Type/foreign_key|table=Emotes}} m_emoteID;
  {{Template:Type/foreign_key|table=EmotesTextData}} m_emoteText[16];
};
 
==Structure==
If a female emote text in #12, #13 or #16 is 0, appropriate male one is used instead. Unknown columns should be tested if they actually work and do something.
If a female emote text in #12, #13 or #16 is 0, appropriate male one is used instead. Unknown columns should be tested if they actually work and do something.
{| style="background:#FCFCFC; color:black"
{| style="background:#FCFCFC; color:black"
Line 50: Line 58:


{{Template:SectionBox|This section only applies to version {{Template:Sandbox/PrettyVersion|expansionlevel=0|build=0.5.3.3368}}}}
{{Template:SectionBox|This section only applies to version {{Template:Sandbox/PrettyVersion|expansionlevel=0|build=0.5.3.3368}}}}
In the Alpha, the <code>CGChat::AddTextEmoteMessage</code> function is used to calculate which emoteText to use, this is based off a basic set of rules that combines flags. Because of this certain values are impossible, these are subsequently 0 filled in the DBC. Below is a simplistic list of the flags:
In the Alpha, the <code>CGChat::AddTextEmoteMessage</code> function is used to calculate which emoteText to use. This is based on a basic set of conditions that combine flags to produce an index. Because of these conditions, certain indices are not used e.g. 4, as it would have no 'displayed to x'. These invalid indices are subsequently 0 filled in the DBC. Below is a simplistic list of the conditions:


  0x0 = default, male
  0x0 = default, male
Line 57: Line 65:
  0x4 = no target
  0x4 = no target
  0x8 = female
  0x8 = female
   * 'display to sender' (index 3 and 7) is a special case {{Template:Unverified| presumably calculated by ((flags & 1 or flags & 2) ? 3 : 0) + (flags & 4)}}
   * 'displayed to sender' emotes (index 3 and 7) are displayed as and when needed by the client


==0.5.3.3368, 1.12.1.5875, 6.0.1.18179==
struct EmotesTextRec {
  uint32_t m_ID;
  {{Template:Type|stringref}} m_name;
  {{Template:Type/foreign_key|table=Emotes}} m_emoteID;
  uint32_t m_emoteText[16];
};
[[Category:DBC]]
[[Category:DBC]]
[[Category:DBC_Alpha]]
[[Category:DBC_Alpha]]

Latest revision as of 16:23, 18 June 2018

0.5.3.3368, 1.12.1.5875, 3.3.5.12340, 6.0.1.18179

struct EmotesTextRec {
  uint32_t m_ID;
  stringref m_name;
  foreign_key<uint32_t, &EmotesRec::m_ID> m_emoteID;
  foreign_key<uint32_t, &EmotesTextDataRec::m_ID> m_emoteText[16];
};

Structure

If a female emote text in #12, #13 or #16 is 0, appropriate male one is used instead. Unknown columns should be tested if they actually work and do something.

Field Name Type Description Example
1 ID Integer Unique row ID.
2 sRefCon String /String which executes this emote.
3 iRefID_Emotes Integer Animation to be played.
4 iRefID_EmotesTextData Integer Male, target, displayed to others. %s raises his fist in anger at %s.
5 iRefID_EmotesTextData Integer Male, target, displayed to target. %s raises his fist in anger at you.
6 iRefID_EmotesTextData Integer Unisex, target, displayed to sender. You raise your fist in anger at %s.
7 iRefID_EmotesTextData Integer Unknown
8 iRefID_EmotesTextData Integer Male, no target, displayed to others. %s raises his fist in anger.
9 iRefID_EmotesTextData Integer Unknown
10 iRefID_EmotesTextData Integer Unisex, no target, displayed to sender. You raise your fist in anger.
11 iRefID_EmotesTextData Integer Unknown
12 iRefID_EmotesTextData Integer Female, target, displayed to others. %s raises her fist in anger at %s.
13 iRefID_EmotesTextData Integer Female, target, displayed to target. %s raises her fist in anger at you.
14 iRefID_EmotesTextData Integer Unknown
15 iRefID_EmotesTextData Integer Unknown
16 iRefID_EmotesTextData Integer Female, no target, displayed to others. %s raises her fist in anger.
17 iRefID_EmotesTextData Integer Unknown
18 iRefID_EmotesTextData Integer Unknown
19 iRefID_EmotesTextData Integer Unknown

Amaroth 30th November 2016

This section only applies to version PreVanilla (0.5.3.3368)

In the Alpha, the CGChat::AddTextEmoteMessage function is used to calculate which emoteText to use. This is based on a basic set of conditions that combine flags to produce an index. Because of these conditions, certain indices are not used e.g. 4, as it would have no 'displayed to x'. These invalid indices are subsequently 0 filled in the DBC. Below is a simplistic list of the conditions:

0x0 = default, male
0x1 = display to others
0x2 = display to target
0x4 = no target
0x8 = female
 * 'displayed to sender' emotes (index 3 and 7) are displayed as and when needed by the client