- // check if version is supported
- if(version == 0){
- name = deSerializeString(is);
- state = deSerializeLongString(is);
- }
- else if(version == 1){
- name = deSerializeString(is);
- state = deSerializeLongString(is);
- hp = readS16(is);
- velocity = readV3F1000(is);
- yaw = readF1000(is);
- }
- else{
- return NULL;
+ if(data != ""){
+ std::istringstream is(data, std::ios::binary);
+ // read version
+ u8 version = readU8(is);
+ // check if version is supported
+ if(version == 0){
+ name = deSerializeString(is);
+ state = deSerializeLongString(is);
+ }
+ else if(version == 1){
+ name = deSerializeString(is);
+ state = deSerializeLongString(is);
+ hp = readS16(is);
+ velocity = readV3F1000(is);
+ yaw = readF1000(is);
+ }