void Entity::update(){ if(texture == 0){ ResourceManager *resourceManager = Global::getInstance()->resourceManager; texture = resourceManager->loadTexture(sprite.c_str()); } Scripting::callUpdateFunction(this); //if(timeSinceSpawn() > 5000){ // ResourceManager *resourceManager = Global::getInstance()->resourceManager; // resourceManager->loadTexture("testTexture.png"); //} /*//uint32_t time = fabs(sin((timeSinceSpawn()/22.22)*(3.14/180)))*4000; uint32_t time = timeSinceSpawn()*2; while(time > 6000){ time -= 6000; } angle = (timeSinceSpawn()/5)+initialAngle; // posX = initialPosX+(time*sin(initialAngle*(3.14/180))/15); // posY = initialPosY+(time*cos(initialAngle*(3.14/180))/15); posX = initialPosX + (time*sin((initialAngle+(time/10))*(3.14/180))/17); posY = initialPosY + (time*cos((initialAngle+(time/10))*(3.14/180))/17);*/ }
void Map::LoadMap(char* fileName, ResourceManager& resMan) { ////////////////////////////////////////////////////////////////FILE I/O STUFF std::stringstream ss; std::ifstream file; char lineType; Terrain tempTerrain; D3DVECTOR pos, corner1, corner2, size; float rot; int zone; PrimStruct *tempPrim; PrimObj tempObj; sPoint tempSpawn; tempObj.mat = &mat; tempObj.Tex = resMan.loadTexture("uvtest.png",0,0,0,0,D3DFMT_UNKNOWN,D3DPOOL_MANAGED,D3DX_DEFAULT,D3DX_DEFAULT,D3DCOLOR_XRGB(255,0,255),0); file.open(fileName); if(file.is_open()) { while(!file.eof()) { lineType = ' '; file>>lineType; if(lineType == '#') { //comment line file.ignore(256,'\n'); } else if(lineType == 'f'||lineType == 'F') { //floor //get top left file>>size.x; file>>size.z; file>>size.y; //get bottom right file>>pos.x; file>>pos.y; file>>pos.z; //zone file>>zone; ss<<"Floor"<<size.x<<"x"<<size.y<<"x"<<size.z; tempPrim = resMan.loadPrim(ss.str().c_str(),size.y,size.x,size.z); D3DXMatrixIdentity(&tempObj.matrix); D3DXMatrixTranslation(&tempObj.matrix,pos.x,pos.y,pos.z); tempObj.primInfo = tempPrim; renderInfo.push_back(tempObj); tempTerrain.Init(pos,tempPrim,FLOOR); AddFloor(tempTerrain); floorZone.push_back(zone); file.ignore(); } else if(lineType == 'w' || lineType == 'W') { //walls //get top left file>>size.x; file>>size.z; file>>size.y; //get bottom right file>>pos.x; file>>pos.y; file>>pos.z; //zone file>>zone; ss<<"Wall"<<size.x<<"x"<<size.y<<"x"<<size.z; tempPrim = resMan.loadPrim(ss.str().c_str(),size.y,size.x,size.z); D3DXMatrixIdentity(&tempObj.matrix); D3DXMatrixTranslation(&tempObj.matrix,pos.x,pos.y,pos.z); tempObj.primInfo = tempPrim; renderInfo.push_back(tempObj); tempTerrain.Init(pos,tempPrim,WALL); AddWall(tempTerrain); wallZone.push_back(zone); file.ignore(); } else if(lineType == 's' || lineType == 'S'){