void parsePlayerUpdateMessage( Client *inC, char *inMessageLine ) { SimpleVector<char*> *tokens = tokenizeString( inMessageLine ); //printf( "\n\nParsing PU line: %s\n\n", inMessageLine ); if( tokens->size() > 16 ) { int id = -1; sscanf( tokens->getElementDirect(0), "%d", &( id ) ); if( inC->id == -1 ) { inC->id = id; } if( inC->id == id ) { // update pos if( inC->moving ) { //printf( "Client %d done moving\n", inC->i ); } if( strcmp( tokens->getElementDirect(14), "X" ) == 0 ) { // dead inC->dead = true; printf( "Client %d died with PU message: %s\n", inC->i, inMessageLine ); } else { sscanf( tokens->getElementDirect(14), "%d", &( inC->x ) ); sscanf( tokens->getElementDirect(15), "%d", &( inC->y ) ); inC->moving = false; } } } tokens->deallocateStringElements(); delete tokens; }
void initCategoryBankFinish() { freeFolderCache( cache ); mapSize = maxID + 1; idMap = new CategoryRecord*[ mapSize ]; for( int i=0; i<mapSize; i++ ) { idMap[i] = NULL; } reverseMapSize = maxObjectID + 1; reverseMap = new ReverseCategoryRecord*[reverseMapSize]; for( int i=0; i<reverseMapSize; i++ ) { reverseMap[i] = NULL; } int numRecords = records.size(); for( int i=0; i<numRecords; i++ ) { CategoryRecord *r = records.getElementDirect(i); idMap[ r->parentID ] = r; for( int j=0; j<r->objectIDSet.size(); j++ ) { int objID = r->objectIDSet.getElementDirect( j ); ReverseCategoryRecord *rr = reverseMap[ objID ]; if( rr == NULL ) { rr = new ReverseCategoryRecord; rr->childID = objID; reverseMap[ objID ] = rr; } rr->categoryIDSet.push_back( r->parentID ); } } printf( "Loaded %d categories from categories folder\n", numRecords ); }
SoundUsage scanSoundUsage( char *inString ) { SimpleVector<int> idVector; SimpleVector<double> volVector; int numParts = 0; char **parts = split( inString, "#", &numParts ); for( int i=0; i<numParts; i++ ) { int id = -1; double vol = 1.0; sscanf( parts[i], "%d:%lf", &id, &vol ); if( id != -1 && vol >=0 && vol <= 1.0 ) { idVector.push_back( id ); volVector.push_back( vol ); } delete [] parts[i]; } delete [] parts; if( idVector.size() > 0 ) { if( idVector.size() == 1 && idVector.getElementDirect( 0 ) == -1 ) { return blankSoundUsage; } SoundUsage u = { idVector.size(), idVector.getElementArray(), volVector.getElementArray() }; return u; } else { return blankSoundUsage; } }
void freeEmotion() { for( int i=0; i<emotions.size(); i++ ) { delete [] emotions.getElementDirect(i).triggerWord; } emotions.deleteAll(); }