Skip to content

Instantly share code, notes, and snippets.

@hansihe
Created March 22, 2016 18:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hansihe/b5b1754e2447c50680fc to your computer and use it in GitHub Desktop.
Save hansihe/b5b1754e2447c50680fc to your computer and use it in GitHub Desktop.
with() do
field_27 = %{}
{field_val, data} = ProtoDef.Type.Varint.decode_varint!(data)
field_27 = Map.put(field_27, :itemDamage, field_val)
{field_val, data} = with() do
<<val::signed-integer-1 * 8, data::binary>> = data
{val, data}
end
field_27 = Map.put(field_27, :scale, field_val)
{field_val, data} = with() do
{count, data} = ProtoDef.Type.Varint.decode_varint!(data)
{elems, data} = Enum.reduce(1..count, {[], data}, fn _, {elems, data} ->
{new_elem, data} = with() do
field_6 = %{}
{field_val, data} = with() do
<<val::signed-integer-1 * 8, data::binary>> = data
{val, data}
end
field_6 = Map.put(field_6, :directionAndType, field_val)
{field_val, data} = with() do
<<val::signed-integer-1 * 8, data::binary>> = data
{val, data}
end
field_6 = Map.put(field_6, :x, field_val)
{field_val, data} = with() do
<<val::signed-integer-1 * 8, data::binary>> = data
{val, data}
end
field_6 = Map.put(field_6, :y, field_val)
{field_6, data}
end
{[new_elem | elems], data}
end)
{Enum.reverse(elems), data}
end
field_27 = Map.put(field_27, :icons, field_val)
{field_val, data} = with() do
<<val::signed-integer-1 * 8, data::binary>> = data
{val, data}
end
field_27 = Map.put(field_27, :columns, field_val)
{field_val, data} = case(field_27[:columns]) do
("0" -> {nil, data})
(_ -> with() do
<<val::signed-integer-1 * 8, data::binary>> = data
{val, data}
end)
end
field_27 = Map.put(field_27, :rows, field_val)
{field_val, data} = case(field_27[:columns]) do
("0" -> {nil, data})
(_ -> with() do
<<val::signed-integer-1 * 8, data::binary>> = data
{val, data}
end)
end
field_27 = Map.put(field_27, :x, field_val)
{field_val, data} = case(field_27[:columns]) do
("0" -> {nil, data})
(_ -> with() do
<<val::signed-integer-1 * 8, data::binary>> = data
{val, data}
end)
end
field_27 = Map.put(field_27, :y, field_val)
{field_val, data} = case(field_27[:columns]) do
("0" -> {nil, data})
(_ -> with() do
{count, data} = ProtoDef.Type.Varint.decode_varint!(data)
<<val::binary-size(count), data::binary>> = data
{val, data}
end)
end
field_27 = Map.put(field_27, :data, field_val)
{field_27, data}
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment