void EntityPlayer::spawn(NetworkOut& rOut) { /* Spawn packet */ try{ rOut.addByte(0x14); rOut.addInt(_iEntityID); rOut.addString(_sName); rOut.addInt(int(floor(Coordinates.X * 32.0))); rOut.addInt(int(floor(Coordinates.Y * 32.0))); rOut.addInt(int(floor(Coordinates.Z * 32.0))); rOut.addByte(char((Coordinates.Yaw * 256.0F) / 360.0F)); rOut.addByte(char((Coordinates.Pitch * 256.0F) / 360.0F)); rOut.addShort(_vpHeld[0] == NULL || _vpHeld[0]->isEmpty() ? 0 : _vpHeld[0]->getItem().first); appendMetadata(rOut); rOut.Finalize(FC_QUEUE_HIGH); sendEquipment(rOut); }catch(FCException& ex) { ex.rethrow(); } }
void TMetaFormatManager::sessionParseMetaData ( DIM_UINT page ) { if (got_meta_for_session == page) return; tagList = sessionReadMetaData(page, -1, -1, -1); got_meta_for_session = page; char *meta_char = sessionGetTextMetaData(); if (meta_char) { meta_data_text = meta_char; delete meta_char; } // API v1.7: first check if format has appand metadata function, if yes, run if (session_active && sessionFormatIndex>=0 && sessionFormatIndex<formatList.size()) { TDimFormatHeader *selectedFmt = formatList.at( sessionFormatIndex ); if (selectedFmt->appendMetaDataProc) selectedFmt->appendMetaDataProc ( &sessionHandle, &metadata ); } // All following will only be inserted if tags do not exist appendMetadata( bim::IMAGE_FORMAT, this->sessionGetFormatName() ); if ( this->imaging_time != "0000-00-00 00:00:00" ) appendMetadata( bim::IMAGE_DATE_TIME, this->imaging_time ); if ( this->getPixelSizeX() > 0 ) { appendMetadata( bim::PIXEL_RESOLUTION_X, this->getPixelSizeX() ); appendMetadata( bim::PIXEL_RESOLUTION_UNIT_X, bim::PIXEL_RESOLUTION_UNIT_MICRONS ); } if ( this->getPixelSizeY() > 0 ) { appendMetadata( bim::PIXEL_RESOLUTION_Y, this->getPixelSizeY() ); appendMetadata( bim::PIXEL_RESOLUTION_UNIT_Y, bim::PIXEL_RESOLUTION_UNIT_MICRONS ); } if ( this->getPixelSizeZ() > 0 ) { appendMetadata( bim::PIXEL_RESOLUTION_Z, this->getPixelSizeZ() ); appendMetadata( bim::PIXEL_RESOLUTION_UNIT_Z, bim::PIXEL_RESOLUTION_UNIT_MICRONS ); } if ( this->getPixelSizeT() > 0 ) { appendMetadata( bim::PIXEL_RESOLUTION_T, this->getPixelSizeT() ); appendMetadata( bim::PIXEL_RESOLUTION_UNIT_T, bim::PIXEL_RESOLUTION_UNIT_SECONDS ); } // ------------------------------------------------------- // Image info appendMetadata( bim::IMAGE_NUM_X, (int) info.width ); appendMetadata( bim::IMAGE_NUM_Y, (int) info.height ); appendMetadata( bim::IMAGE_NUM_Z, (int) info.number_z ); appendMetadata( bim::IMAGE_NUM_T, (int) info.number_t ); appendMetadata( bim::IMAGE_NUM_C, (int) info.samples ); appendMetadata( bim::IMAGE_NUM_P, (int) info.number_pages ); appendMetadata( bim::PIXEL_DEPTH, (int) info.depth ); for (unsigned int i=0; i<channel_names.size(); ++i) { xstring tag_name; tag_name.sprintf( bim::CHANNEL_NAME_TEMPLATE.c_str(), i ); appendMetadata( tag_name.c_str(), channel_names[i].c_str() ); } for (int i=0; i<(int)dim::min<size_t>(display_lut.size(), display_channel_tag_names.size()); ++i) appendMetadata( display_channel_tag_names[i], display_lut[i] ); // hack towards new system: in case the format loaded all data directly into the map, refresh static values fill_static_metadata_from_map(); }