Difference between revisions of "BadgesResponseMessage"

From SWGANH Wiki
Jump to: navigation, search
(Tags)
(Variable Descriptions)
 
(17 intermediate revisions by 2 users not shown)
Line 1: Line 1:
__NOTOC__
+
{{PageHeader|Server Packet|BadgesResponseMessage (6D89D25B)}}
 
+
 
{| border="0" width="90%" cellpadding=6
 
{| border="0" width="90%" cellpadding=6
 
|-
 
|-
Line 6: Line 5:
 
===Struct===
 
===Struct===
 
----
 
----
 
+
{| align="center"
 +
|-
 +
||
 
{| class="wikitable"
 
{| class="wikitable"
 +
|{{short}}||'''Operand_Count'''
 
|-
 
|-
|align="center" style="background:#6C86BF; color:white;"|'''SHORT'''||'''Operand_Count'''
+
|{{int}}||'''Opcode'''
 
|-
 
|-
|align="center" style="background:#3C548A; color:white;"|'''INT'''||'''Opcode'''
+
|{{long}}||'''CharacterID'''
 
|-
 
|-
|align="center" style="background:#3C4565; color:white;"|'''LONG'''||'''CharacterID'''
+
|{{int}}||'''Bit Masks Count (# of Bitmasks)'''
|-
+
|align="center" style="background:#3C548A; color:white;"|'''INT'''||'''List'''
+
 
|-
 
|-
 
|}
 
|}
:'''{'''
+
{{beginlist|Bit Masks|Bit Masks Count}}
 
:{| class="wikitable"
 
:{| class="wikitable"
|-
+
|{{int}}||'''Bitmask'''
|align="center" style="background:#3C4565; color:white;"|'''LONG'''||'''<font color=red>badge bitmask</font>'''
+
|}
|-
+
{{endlist|Bit Masks}}
|align="center" style="background:#3C548A; color:white;"|'''INT'''||'''<font color=red>Unknown</font>'''
+
|-
+
|align="center" style="background:#3C548A; color:white;"|'''INT'''||'''<font color=red>Unknown</font>'''
+
|-
+
|align="center" style="background:#3C548A; color:white;"|'''INT'''||'''<font color=red>Unknown</font>'''
+
|-
+
 
|}
 
|}
:'''}'''
 
  
 
===Variable Descriptions===
 
===Variable Descriptions===
Line 39: Line 32:
 
Opcode     = '''6D89D25B'''
 
Opcode     = '''6D89D25B'''
 
----
 
----
 +
 +
Please note that if a bit is set for an index that does not exist in the client file datatables/badges/badge_map.iff, the client may crash.
 +
 +
The number of bitmasks to send could be calculated based on the following formula:
 +
int h = highestBadgeIndexNumber; //From the badge_map.iff
 +
int numberOfBitmasks = ceil(h / 32);
  
 
* Triggered on an event
 
* Triggered on an event
  
 
|valign=top|
 
|valign=top|
 +
 
===Tags===
 
===Tags===
 
----
 
----
Line 49: Line 49:
 
||{{ServerPacket}}
 
||{{ServerPacket}}
 
|-
 
|-
||{{50%}}
+
||{{100%}}
 
|-
 
|-
 
|}
 
|}
 
+
==Notes:==
 +
Further Reading: [http://forums.swganh.org/viewtopic.php?t=683 http://forums.swganh.org/viewtopic.php?t=683]
 
|}
 
|}
 
----
 
 
==Sample Code==
 
----
 
 
<pre>
 
Insert Code Snippet Here...
 
</pre>
 
  
 
==Sample Packet==
 
==Sample Packet==
  
 
<pre>
 
<pre>
0x00, 0x09, 0x03, 0xF6, 0x00, 0x19, 0x4E,
+
03 00                          // ACCOUNTUPDATE
0x03, 0x00,
+
5B D2 89 6D                    // BadgesResponseMessage
0x5B, 0xD2, 0x89, 0x6D, //BadgesResponseMessage
+
19 00 00 00 00 00 00 00        // CharacterID
0x15, 0xA8, 0x0A, 0x56, 0x03, 0x00, 0x00, 0x00, //PLAYER ID
+
0F 00 00 00                    // Size of Bitmask List (15)
0x0F, 0x00, 0x00, 0x00,//list
+
0F F0 EF CD                    // Bitmask 1
0x0F, 0xF0, 0xEF, 0xCD, //start of badge bitmask
+
C0 10 0B 00                    // Bitmask 2
0xC0, 0x10, 0x0B, 0x00,
+
02 7C 4A 89                    // Bitmask 3
0x02, 0x7C, 0x4A, 0x89,
+
36 98 00 14                    // Bitmask 4
0x36, 0x98, 0x00, 0x14,
+
00 10 00 A0                    // Bitmask 5
0x00, 0x10, 0x00, 0xA0,
+
00 18 02 00                    // Bitmask 6
0x00, 0x18, 0x02, 0x00,
+
10 00 00 00                    // Bitmask 7
0x10, 0x00, 0x00, 0x00,
+
00 00 00 00                    // Bitmask 8
0x00, 0x00, 0x00, 0x00,
+
00 00 00 00                    // Bitmask 9
0x00, 0x00, 0x00, 0x00,
+
00 00 00 00                    // Bitmask 10
0x00, 0x00, 0x00, 0x00,
+
00 00 00 00                    // Bitmask 11
0x00, 0x00, 0x00, 0x00,
+
00 00 00 00                    // Bitmask 12
0x00, 0x00, 0x00, 0x00,
+
00 00 00 00                    // Bitmask 13
0x00, 0x00, 0x00, 0x00,
+
00 00 00 00                    // Bitmask 14
0x00, 0x00, 0x00, 0x00,
+
00 00 00 00                    // Bitmask 15
0x00, 0x00, 0x00, 0x00,
+
0x00,
+
 
</pre>
 
</pre>

Latest revision as of 15:30, 8 April 2011

Server Packet - BadgesResponseMessage (6D89D25B)

SWGANH Wiki is a repository of Star Wars Galaxies Developer information. This site is only meant to be used by SWGANH Developer team.

Struct


SHORT Operand_Count
INT Opcode
LONG CharacterID
INT Bit Masks Count (# of Bitmasks)

<Bit Masks count=Bit Masks Count>

INT Bitmask

<Bit Masks/>

Variable Descriptions


Opperand_Count = 7

Opcode = 6D89D25B


Please note that if a bit is set for an index that does not exist in the client file datatables/badges/badge_map.iff, the client may crash.

The number of bitmasks to send could be calculated based on the following formula: int h = highestBadgeIndexNumber; //From the badge_map.iff int numberOfBitmasks = ceil(h / 32);

  • Triggered on an event

Tags


S→C This packet originates on the server.

100% This packet has been completely reversed.

Notes:

Further Reading: http://forums.swganh.org/viewtopic.php?t=683

Sample Packet

03 00                          // ACCOUNTUPDATE
5B D2 89 6D                    // BadgesResponseMessage
19 00 00 00 00 00 00 00        // CharacterID
0F 00 00 00                    // Size of Bitmask List (15)
0F F0 EF CD                    // Bitmask 1
C0 10 0B 00                    // Bitmask 2
02 7C 4A 89                    // Bitmask 3
36 98 00 14                    // Bitmask 4
00 10 00 A0                    // Bitmask 5
00 18 02 00                    // Bitmask 6
10 00 00 00                    // Bitmask 7
00 00 00 00                    // Bitmask 8
00 00 00 00                    // Bitmask 9
00 00 00 00                    // Bitmask 10
00 00 00 00                    // Bitmask 11
00 00 00 00                    // Bitmask 12
00 00 00 00                    // Bitmask 13
00 00 00 00                    // Bitmask 14
00 00 00 00                    // Bitmask 15