`SMSG_UPDATE_OBJECT` does not seem to be entirely accurate for 3.4.2 50172 (50129)

Abierto
#826 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
csharp

Línea de trabajo

Comienza con el paquete SMSG_UPDATE_OBJECT que falla y sigue UpdateHandler.cs a través de UpdateFieldsHandler342.cs línea 1547 hasta DynamicUpdateField.cs líneas 25 y 37. Reproduce la excepción mientras examinas el tamaño de la máscara de actualización y los datos de los campos del paquete 3.4.2. Se considera terminado cuando el paquete se analiza sin la ArgumentOutOfRangeException indicada y sus actualizaciones de criaturas se consumen correctamente.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Trying to parse a packet from 50172 and there are quite a few creature GUIDs that show up and are being used, but the initial SMSG_UPDATE_OBJECT responsible for their appearance doesn't seem to be parsing fully. No idea if this is the particular packet for the specific creature I'm having issues with, but this was the nearest UPDATE_OBJECT with an explicit exception:

ServerToClient: SMSG_UPDATE_OBJECT (0x27D1) Length: 1959 ConnIdx: 1 Time: [] Number: []
NumObjUpdates: 4
MapID: 1 (1)
HasRemovedObjects: False
Data size: 1948
[0] UpdateType: Values
[0] Object Guid: Full: 0x[] Player/0 R[]/S[] Map: 0 Low: []
System.ArgumentOutOfRangeException
Non-negative number required. (Parameter 'index')
   at System.Collections.Generic.List`1.RemoveRange(Int32 index, Int32 count)
   at WowPacketParser.Misc.DynamicUpdateField`1.Resize(UInt32 newSize) in C:\Users\benjy\Documents\GitHub\WowPacketParser\WowPacketParser\Misc\DynamicUpdateField.cs:line 25
   at WowPacketParser.Misc.DynamicUpdateField`1.ReadUpdateMask(Packet packet, Int32 bitSizeCount) in C:\Users\benjy\Documents\GitHub\WowPacketParser\WowPacketParser\Misc\DynamicUpdateField.cs:line 37
   at WowPacketParserModule.V3_4_0_45166.UpdateFields.V3_4_2_50129.UpdateFieldHandler.ReadUpdatePlayerData(Packet packet, Object[] indexes) in C:\Users\benjy\Documents\GitHub\WowPacketParser\WowPacketParserModule.V3_4_0_45166\Parsers\UpdateFieldsHandler342.cs:line 1547
   at WowPacketParserModule.V2_5_1_38707.Parsers.UpdateHandler.HandleUpdateObject(Packet packet) in C:\Users\benjy\Documents\GitHub\WowPacketParser\WowPacketParserModule.V2_5_1_38707\Parsers\UpdateHandler.cs:line 103
   at WowPacketParser.Parsing.Handler.Parse(Packet packet, Boolean isMultiple) in C:\Users\benjy\Documents\GitHub\WowPacketParser\WowPacketParser\Parsing\Handler.cs:line 149
Lenguaje dominante
C#
Estrellas
522
Forks
387
Merge medio
3 d 6 h
PR fusionados (30 d)
4

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de TrinityCore/WowPacketParser

Todos los issues de TrinityCore/WowPacketParser

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.