Changeset 1134


Ignore:
Timestamp:
Jan 27, 2012, 9:04:56 AM (8 years ago)
Author:
sam
Message:

math: use the usual GLSL member names for vectors (xyzw, rgba, stpq).

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/monsterz/board.cpp

    r1046 r1134  
    187187                          + data->grabbed.piece->GetOffset();
    188188            ivec2 cur_cell = (cur_pos + data->size / 2) / data->size;
    189             if (cur_cell.i < 0 || cur_cell.i >= data->dim.i
    190                  || cur_cell.j < 0 || cur_cell.j >= data->dim.j
     189            if (cur_cell.x < 0 || cur_cell.x >= data->dim.x
     190                 || cur_cell.y < 0 || cur_cell.y >= data->dim.y
    191191                 || (cur_pos - cur_cell * data->size).sqlen() > data->size.sqlen() / 8
    192192                 || (cur_cell - data->src_cell).sqlen() != 1)
     
    201201                }
    202202                if (data->dst_cell != ivec2(-1))
    203                     data->pairs[data->dst_cell.i]
    204                                [data->dst_cell.j].piece->Ungrab(data->dst_cell * data->size);
     203                    data->pairs[data->dst_cell.x]
     204                               [data->dst_cell.y].piece->Ungrab(data->dst_cell * data->size);
    205205                if (cur_cell != ivec2(-1))
    206                     data->pairs[cur_cell.i]
    207                                [cur_cell.j].piece->Ungrab(data->src_cell * data->size);
     206                    data->pairs[cur_cell.x]
     207                               [cur_cell.y].piece->Ungrab(data->src_cell * data->size);
    208208                data->dst_cell = cur_cell;
    209209            }
     
    226226        {
    227227            ivec2 cell_a = data->src_cell;
    228             BoardData::Pair a = data->pairs[cell_a.i][cell_a.j];
     228            BoardData::Pair a = data->pairs[cell_a.x][cell_a.y];
    229229            a.piece->Ungrab(cell_a * data->size);
    230230
     
    232232            {
    233233                ivec2 cell_b = data->dst_cell;
    234                 BoardData::Pair b = data->pairs[cell_b.i][cell_b.j];
     234                BoardData::Pair b = data->pairs[cell_b.x][cell_b.y];
    235235                b.piece->Ungrab(cell_b * data->size);
    236236            }
     
    273273    do
    274274    {
    275         for (int j = 0; j < data->dim.j; j++)
    276             for (int i = 0; i < data->dim.i; i++)
     275        for (int j = 0; j < data->dim.y; j++)
     276            for (int i = 0; i < data->dim.x; i++)
    277277                data->pairs[i][j].id = 1 + rand() % data->npieces;
    278278    } while (ListMashes(list) || !(data->nmoves = ListMoves(list)));
    279279
    280280    /* Spawn pieces */
    281     for (int j = 0; j < data->dim.j; j++)
    282         for (int i = 0; i < data->dim.i; i++)
    283         {
    284             ivec2 newpos = ivec2(i, j + data->dim.j) * data->size;
     281    for (int j = 0; j < data->dim.y; j++)
     282        for (int i = 0; i < data->dim.x; i++)
     283        {
     284            ivec2 newpos = ivec2(i, j + data->dim.y) * data->size;
    285285            int id = data->pairs[i][j].id;
    286286            data->pairs[i][j].piece = new Piece(Piece::PIECE_HUNT,
     
    296296bool Board::Switch(ivec2 cell_a, ivec2 cell_b)
    297297{
    298     BoardData::Pair a = data->pairs[cell_a.i][cell_a.j];
    299     BoardData::Pair b = data->pairs[cell_b.i][cell_b.j];
    300     data->pairs[cell_a.i][cell_a.j] = b;
    301     data->pairs[cell_b.i][cell_b.j] = a;
     298    BoardData::Pair a = data->pairs[cell_a.x][cell_a.y];
     299    BoardData::Pair b = data->pairs[cell_b.x][cell_b.y];
     300    data->pairs[cell_a.x][cell_a.y] = b;
     301    data->pairs[cell_b.x][cell_b.y] = a;
    302302
    303303    /* Check whether this is a valid move by testing all patterns.
     
    307307    if (!ListMashes(list))
    308308    {
    309         data->pairs[cell_a.i][cell_a.j] = a;
    310         data->pairs[cell_b.i][cell_b.j] = b;
     309        data->pairs[cell_a.x][cell_a.y] = a;
     310        data->pairs[cell_b.x][cell_b.y] = b;
    311311        return false;
    312312    }
     
    319319
    320320    /* Swap above and below cells */
    321     if (cell_a.i == cell_b.i)
     321    if (cell_a.x == cell_b.x)
    322322    {
    323323        Piece *tmpa = a.piece->GetAbove();
     
    358358        Ticker::Ref(mash);
    359359
    360         for (int j = data->dim.j; j--;) for (int i = 0; i < data->dim.i; i++)
     360        for (int j = data->dim.y; j--;) for (int i = 0; i < data->dim.x; i++)
    361361        {
    362362            if (!list[i][j])
     
    382382#endif
    383383            {
    384                 Piece *below = data->pairs[i][data->dim.j - 1].piece;
     384                Piece *below = data->pairs[i][data->dim.y - 1].piece;
    385385
    386386                /* Change coordinates for the whole column above */
    387                 for (int j2 = j + 1; j2 < data->dim.j; j2++)
     387                for (int j2 = j + 1; j2 < data->dim.y; j2++)
    388388                {
    389389                    data->pairs[i][j2 - 1] = data->pairs[i][j2];
     
    397397                ivec2 newpos = ivec2(i * data->size.x,
    398398                                     below->GetPos().y + data->size.y);
    399                 ivec2 newcell = ivec2(i, data->dim.j - 1);
     399                ivec2 newcell = ivec2(i, data->dim.y - 1);
    400400                int id = 1 + rand() % data->npieces;
    401401                Piece *tmp = new Piece(Piece::PIECE_HUNT, data->emitter,
     
    405405                tmp->Move(newcell * data->size);
    406406                Ticker::Ref(tmp);
    407                 data->pairs[i][data->dim.j - 1].id = id;
    408                 data->pairs[i][data->dim.j - 1].piece = tmp;
    409                 list[i][data->dim.j - 1] = 0;
     407                data->pairs[i][data->dim.y - 1].id = id;
     408                data->pairs[i][data->dim.y - 1].piece = tmp;
     409                list[i][data->dim.y - 1] = 0;
    410410            }
    411411        }
     
    426426        Ticker::Ref(mash);
    427427
    428         for (int j = data->dim.j; j--;) for (int i = 0; i < data->dim.i; i++)
     428        for (int j = data->dim.y; j--;) for (int i = 0; i < data->dim.x; i++)
    429429            mash->AddPiece(data->pairs[i][j].piece);
    430430
     
    433433
    434434        Piece *below[MAX_WIDTH];
    435         for (int i = 0; i < data->dim.i; i++)
    436             below[i] = data->pairs[i][data->dim.j - 1].piece;
     435        for (int i = 0; i < data->dim.x; i++)
     436            below[i] = data->pairs[i][data->dim.y - 1].piece;
    437437
    438438        Fill();
    439439
    440         for (int i = 0; i < data->dim.i; i++)
     440        for (int i = 0; i < data->dim.x; i++)
    441441            data->pairs[i][0].piece->SetBelow(below[i]);
    442442    }
     
    451451    int ret = 0;
    452452
    453     for (int j = 0; j < data->dim.j; j++)
    454         for (int i = 0; i < data->dim.i; i++)
     453    for (int j = 0; j < data->dim.y; j++)
     454        for (int i = 0; i < data->dim.x; i++)
    455455            list[i][j] = 0;
    456456
    457     for (int j = 0; j < data->dim.j; j++)
    458         for (int i = 0; i < data->dim.i; i++)
     457    for (int j = 0; j < data->dim.y; j++)
     458        for (int i = 0; i < data->dim.x; i++)
    459459        {
    460460            int id = data->pairs[i][j].id;
    461461
    462             if (i + 2 < data->dim.i && data->pairs[i + 1][j].id == id
     462            if (i + 2 < data->dim.x && data->pairs[i + 1][j].id == id
    463463                          && data->pairs[i + 2][j].id == id)
    464464            {
     
    469469            }
    470470
    471             if (j + 2 < data->dim.j && data->pairs[i][j + 1].id == id
     471            if (j + 2 < data->dim.y && data->pairs[i][j + 1].id == id
    472472                          && data->pairs[i][j + 2].id == id)
    473473            {
     
    490490    int ret = 0;
    491491
    492     for (int j = 0; j < data->dim.j; j++)
    493         for (int i = 0; i < data->dim.i; i++)
     492    for (int j = 0; j < data->dim.y; j++)
     493        for (int i = 0; i < data->dim.x; i++)
    494494            moves[i][j] = 0;
    495495
    496     for (int j = 0; j < data->dim.j; j++)
    497         for (int i = 0; i < data->dim.i; i++)
     496    for (int j = 0; j < data->dim.y; j++)
     497        for (int i = 0; i < data->dim.x; i++)
    498498        {
    499499            /* Copy neighbourhood to a local buffer */
     
    502502            for (int dj = -2; dj <= 3; dj++)
    503503                for (int di = -2; di <= 3; di++)
    504                     if (j + dj >= 0 && j + dj < data->dim.j
    505                          && i + di >= 0 && i + di < data->dim.i)
     504                    if (j + dj >= 0 && j + dj < data->dim.y
     505                         && i + di >= 0 && i + di < data->dim.x)
    506506                        tmp[2 + di][2 + dj] = data->pairs[i + di][j + dj].id;
    507507                    else
     
    564564    {
    565565    case GAME_HUNT:
    566         for (int j = 0; j < data->dim.j; j++)
    567             for (int i = 0; i < data->dim.i; i++)
     566        for (int j = 0; j < data->dim.y; j++)
     567            for (int i = 0; i < data->dim.x; i++)
    568568            {
    569569                data->pairs[i][j].piece->SetBelow(NULL);
  • trunk/src/lol/math/matrix.h

    r1119 r1134  
    278278#endif
    279279
    280     union { T x; T a; T i; };
    281     union { T y; T b; T j; };
     280    union
     281    {
     282        struct { T x, y; };
     283        struct { T r, g; };
     284        struct { T s, t; };
     285    };
    282286};
    283287
     
    352356#endif
    353357
    354     union { T x; T a; T i; };
    355     union { T y; T b; T j; };
    356     union { T z; T c; T k; };
     358    union
     359    {
     360        struct { T x, y, z; };
     361        struct { T r, g, b; };
     362        struct { T s, t, p; };
     363    };
    357364};
    358365
     
    387394#endif
    388395
    389     union { T x; T a; T i; };
    390     union { T y; T b; T j; };
    391     union { T z; T c; T k; };
    392     union { T w; T d; T l; };
     396    union
     397    {
     398        struct { T x, y, z, w; };
     399        struct { T r, g, b, a; };
     400        struct { T s, t, p, q; };
     401    };
    393402};
    394403
  • trunk/src/tileset.cpp

    r1110 r1134  
    6565    data->isize = data->img->GetSize();
    6666
    67     if (count.i > 0 && count.j > 0)
     67    if (count.x > 0 && count.y > 0)
    6868    {
    6969        data->count = count;
     
    7474        if (size.x <= 0 || size.y <= 0)
    7575            size = ivec2(32, 32);
    76         data->count.i = data->isize.x > size.i ? data->isize.x / size.i : 1;
    77         data->count.j = data->isize.y > size.j ? data->isize.y / size.j : 1;
     76        data->count.x = data->isize.x > size.x ? data->isize.x / size.x : 1;
     77        data->count.y = data->isize.y > size.y ? data->isize.y / size.y : 1;
    7878        data->size = size;
    7979    }
     
    8383
    8484    data->dilate = dilate;
    85     data->ntiles = data->count.i * data->count.j;
     85    data->ntiles = data->count.x * data->count.y;
    8686
    8787    m_drawgroup = DRAWGROUP_BEFORE;
     
    182182                       float *vertex, float *texture)
    183183{
    184     float tx = data->tx * ((id & 0xffff) % data->count.i);
    185     float ty = data->ty * ((id & 0xffff) / data->count.i);
     184    float tx = data->tx * ((id & 0xffff) % data->count.x);
     185    float ty = data->ty * ((id & 0xffff) / data->count.x);
    186186    float dilate = data->dilate;
    187187
Note: See TracChangeset for help on using the changeset viewer.