DB/SoundFilter: Difference between revisions

From wowdev
Jump to navigation Jump to search
No edit summary
No edit summary
 
(6 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Some kind of descriptive table. All entries are "Death Knight RACE GENDER". Assembled here:
Some kind of descriptive table. All entries are "Death Knight RACE GENDER". Assembled here:


  .text:00463DD0 sub_463DD0      proc near               ; CODE XREF: sub_6834C0+130�p
{{Template:Sandbox/VersionRange|min_expansionlevel=3}}
  .text:00463DD0                                         ; sub_683AB0+13D�p ...
 
  .text:00463DD0                 push    ebp
  .text:00463DD0 sub_463DD0      proc near      
  .text:00463DD1                 mov    ebp, esp
.text:00463DD0
  .text:00463DD3                 mov    eax, [ebp+8]
  .text:00463DD0 CGObject_C      = dword ptr  8
  .text:00463DD6                 mov    eax, [eax+108h]
.text:00463DD0 arg_4          = dword ptr  0Ch
  .text:00463DDC                 movzx  ecx, byte ptr [eax+40h]
.text:00463DD0 arg_8          = dword ptr  10h
  .text:00463DE0                 cmp    byte ptr [eax+42h], 0
.text:00463DD0
  .text:00463DE4                 mov    eax, offset aMale ; "Male"
  .text:00463DD0   push    ebp
  .text:00463DE9                 jz      short loc_463DF0
  .text:00463DD1   mov    ebp, esp
  .text:00463DEB                 mov    eax, offset aFemale ; "Female"
  .text:00463DD3   mov    eax, [ebp+CGObject_C]  
  .text:00463DF0
  .text:00463DD6   mov    eax, [eax+108h] ; UNIT
.text:00463DF0 loc_463DF0:                            ; CODE XREF: sub_463DD0+19�j
  .text:00463DDC   movzx  ecx, byte ptr [eax+40h]
  .text:00463DF0                 mov    ecx, dword_FFAA18[ecx*4]
  .text:00463DE0   cmp    byte ptr [eax+42h], 0
  .text:00463DF7                 mov    edx, [ebp+10h]
  .text:00463DE4   mov    eax, offset aMale ; "Male"
  .text:00463DFA                 push    eax
  .text:00463DE9   jz      short else
  .text:00463DFB                 mov    eax, [ebp+0Ch]
  .text:00463DEB   mov    eax, offset aFemale ; "Female"
  .text:00463DFE                 push    ecx
  .text:00463DF0 else:  
  .text:00463DFF                 push    offset aDeathKnightSS ; "Death Knight %s %s"
  .text:00463DF0   mov    ecx, RACES[ecx*4]
  .text:00463E04                 push    edx
  .text:00463DF7   mov    edx, [ebp+arg_8]
  .text:00463E05                 push    eax
  .text:00463DFA   push    eax             ; gender
  .text:00463E06                 call    sub_6A13F0
  .text:00463DFB   mov    eax, [ebp+arg_4]
  .text:00463E0B                 add    esp, 14h
  .text:00463DFE   push    ecx             ; race
  .text:00463E0E                 pop    ebp
  .text:00463DFF   push    offset aDeathKnightSS ; "Death Knight %s %s"
  .text:00463E0F                 retn
  .text:00463E04   push    edx
  .text:00463E05   push    eax
  .text:00463E06   call    sub_6A13F0
  .text:00463E0B   add    esp, 14h
  .text:00463E0E   pop    ebp
  .text:00463E0F   retn  
  .text:00463E0F sub_463DD0      endp
  .text:00463E0F sub_463DD0      endp
'''Or in (bad) C:'''
String sub_463DD0(CGObject_C Object, void* arg1, void* arg2) {
    String Gender;
    CGUnit_C Unit = Object->m_pStorage3;
   
    if (*Unit->UNIT_GENDER == 0)
      Gender = "Male";
    else
      Gender = "Female";
   
    String ret = sub_6A13F0(arg1, arg2, "Death Knight %s %s", RACES[*Unit->UNIT_RACE], Gender);
   
    return(ret);
}


 
==Structure==
*ID int
*ID int
*Name string
*Name string


==6.0.1.18179==
struct SoundFilterRec {
  uint32_t m_ID;
  {{Template:Type|stringref}} m_name;
};
[[Category:DBC]]
[[Category:DBC]]
[[Category:DBC_WotLK]]
[[Category:DBC_WoD]][[Category:6.0.1.18179]]

Latest revision as of 02:49, 20 July 2016

Some kind of descriptive table. All entries are "Death Knight RACE GENDER". Assembled here:

≥ Wrath

.text:00463DD0 sub_463DD0      proc near       
.text:00463DD0
.text:00463DD0 CGObject_C      = dword ptr  8
.text:00463DD0 arg_4           = dword ptr  0Ch
.text:00463DD0 arg_8           = dword ptr  10h
.text:00463DD0
.text:00463DD0    push    ebp
.text:00463DD1    mov     ebp, esp
.text:00463DD3    mov     eax, [ebp+CGObject_C] 
.text:00463DD6    mov     eax, [eax+108h] ; UNIT
.text:00463DDC    movzx   ecx, byte ptr [eax+40h]
.text:00463DE0    cmp     byte ptr [eax+42h], 0
.text:00463DE4    mov     eax, offset aMale ; "Male"
.text:00463DE9    jz      short else
.text:00463DEB    mov     eax, offset aFemale ; "Female"
.text:00463DF0 else: 
.text:00463DF0    mov     ecx, RACES[ecx*4]
.text:00463DF7    mov     edx, [ebp+arg_8]
.text:00463DFA    push    eax             ; gender
.text:00463DFB    mov     eax, [ebp+arg_4]
.text:00463DFE    push    ecx             ; race
.text:00463DFF    push    offset aDeathKnightSS ; "Death Knight %s %s"
.text:00463E04    push    edx
.text:00463E05    push    eax
.text:00463E06    call    sub_6A13F0
.text:00463E0B    add     esp, 14h
.text:00463E0E    pop     ebp
.text:00463E0F    retn 
.text:00463E0F sub_463DD0      endp

Or in (bad) C:

String sub_463DD0(CGObject_C Object, void* arg1, void* arg2) {
   String Gender;
   CGUnit_C Unit = Object->m_pStorage3;
   
   if (*Unit->UNIT_GENDER == 0)
      Gender = "Male";
   else
      Gender = "Female";
   
   String ret = sub_6A13F0(arg1, arg2, "Death Knight %s %s", RACES[*Unit->UNIT_RACE], Gender);
   
   return(ret); 
}

Structure

  • ID int
  • Name string

6.0.1.18179

struct SoundFilterRec {
  uint32_t m_ID;
  stringref m_name;
};