예제 #1
0
/***********************************************************
update display with current frame - used for animation
***********************************************************/
int OsgObjectHandler::Process(double time, float tdiff)
{
	if(_shouttextgroup && (time >= _ttlshout))
	{
		osg::ref_ptr<osg::Group> root = GetRootNoLight();
		if(root)
			root->removeChild(_shouttextgroup);
		_shouttextgroup = NULL;
	}

	return ProcessInternal(time, tdiff); 
}
예제 #2
0
void ObjectDataHandler::ProcessMapChunk( MapChunk* chunk )
{
    if (!Source->HasObjectData)
        return;
    // f**k it blizzard, why is this crap necessary?
    int32 firstIndex = Source->ObjectData->GetFirstIndex("MCNK");
    if (firstIndex == -1)
        return;
    if (uint32(firstIndex + chunk->Index) > Source->ObjectData->Chunks.size())
        return;
    Chunk* ourChunk = Source->ObjectData->Chunks[firstIndex + chunk->Index];
    if (ourChunk->Length == 0)
        return;
    ChunkedData* subChunks = new ChunkedData(ourChunk->GetStream(), ourChunk->Length, 2);
    ProcessInternal(subChunks);
}
예제 #3
0
void ObjectDataHandler::ProcessMapChunk( MapChunk* chunk )
{
    ProcessInternal(chunk);
}