All pastes #626509 Raw Edit

tiles

public text v1 · immutable
·published 2007-07-19 18:25 UTC
rendered paste body
void CMapSceneNode::render()
{
    IVideoDriver* driver = SceneManager->getVideoDriver();

/*
    s32 x = ((s32)parent->getPosition().X)-VIEW_RANGE_X;
    if(x < 0)
        x = 0;
    s32 y = ((s32)parent->getPosition().Z)-VIEW_RANGE_Y;
    if(y < 0)
        y = 0;

    s32 x2 = ((s32)parent->getPosition().X)+VIEW_RANGE_X;
    if(x2 > resources->getMapData(mapDataType)->size.Width)
        x2 = resources->getMapData(mapDataType)->size.Width;

    s32 y2 = ((s32)parent->getPosition().Z)+VIEW_RANGE_Y;
    if(y2 > resources->getMapData(mapDataType)->size.Height)
        y2 = resources->getMapData(mapDataType)->size.Height;*/

    s32 x, y, x2, y2;

    x = 0;
    y = 0;
    x2 = 20;
    y2 = 20;

    driver->setTransform(ETS_WORLD, AbsoluteTransformation);

    while(x < x2)
    {
        while(y < y2)
        {
          /*  switch(resources->getMapData(mapDataType)->tiles[(x * resources->getMapData(mapDataType)->size.Height) + y])
            {
            case EMTT_GRAS:
            {*/
                material.Textures[0] = resources->getGroundTexture(EGT_GRAS);

                driver->setMaterial(material);

                S3DVertex vertices[4];
                vertices[0] = S3DVertex(vector3df(x,0, y), vector3df(0,1,0), SColor(255,0,255,255), vector2df(0,0));
                vertices[1] = S3DVertex(vector3df(x+1,0, y), vector3df(0,1,0), SColor(255,0,255,255), vector2df(1,0));
                vertices[2] = S3DVertex(vector3df(x,0, y+1), vector3df(0,1,0), SColor(255,0,255,255), vector2df(0,1));
                vertices[3] = S3DVertex(vector3df(x+1 ,0, y+1), vector3df(0,1,0), SColor(255,0,255,255), vector2df(1,1));
                u16 indices[] = { 0,2,1, 1,2,3};
                driver->drawIndexedTriangleList(&vertices[0], 4, &indices[0], 2);
          /*      break;
            }

            default:
            {
                printf("render error");
                break;
            }
            }*/

            y++;
        }
        x++;
    }
}