/*
 * Obiekcik przechowujacy czesc danych dla std mapera.
 *  by Tanis - maj 1999
 *
 *  UWAGA: Jesli usilujemy wpisac tylko 1 element, o indeksie wykraczajacym
 *     poza tablice, to tablica zostanie rozszerzona zerami i element wpisany.
 */

private mixed *dana=({});

mixed *zwroc_all()
{
    return dana;
}

void ustaw_all(mixed *co)
{
    dana=co;
}

mixed *zwroc(int numer)
{
    if(numer<sizeof(dana)) return dana[numer];
    else return ({});
}

void ustaw(int numer,mixed co)
{
    int a;
    
    if(numer>=sizeof(dana)) for(a=sizeof(dana);a<(numer+1);a++) dana+=({0});
    dana[numer]=co;
}

void ustaw_xy(int x, int y, mixed co)
{
    int a;
    
    if(x>=sizeof(dana)) for(a=sizeof(dana);a<(x+1);a++) dana[a]=({});
    if(y>=sizeof(dana[x])) for(a=sizeof(dana[x]);a<(y+1);a++) dana[x][a]=0;

    dana[x][y]=co;
}

int wielkosc()
{
    return sizeof(dana);
}

int wielkosc_x(int x)
{
    if(x<sizeof(dana)) return sizeof(dana[x]);
    else return 0;
}
