mirror of
https://github.com/dwsJason/xrick2gs.git
synced 2024-06-05 20:29:26 +00:00
map_expand: optimize the C in ORCA (runs about 10x faster due to reduced multiplies etc)
This commit is contained in:
parent
a0debf876e
commit
541fe9990c
38
src/maps.c
38
src/maps.c
|
@ -68,26 +68,36 @@ static void map_eflg_expand(U8);
|
|||
void
|
||||
map_expand(void)
|
||||
{
|
||||
U8 i, j, k, l;
|
||||
U8 row, col;
|
||||
U16 i, j, k, l;
|
||||
U16 col;
|
||||
U16 pbnum;
|
||||
|
||||
pbnum = map_submaps[game_submap].bnum + ((2 * map_frow) & 0xfff8);
|
||||
row = col = 0;
|
||||
U8* pMap_map = &map_map[0][0];
|
||||
|
||||
for (i = 0; i < 0x0b; i++) { /* 0x0b rows of blocks */
|
||||
for (j = 0; j < 0x08; j++) { /* 0x08 blocks per row */
|
||||
for (k = 0, l = 0; k < 0x04; k++) { /* expand one block */
|
||||
map_map[row][col++] = map_blocks[map_bnums[pbnum]][l++];
|
||||
map_map[row][col++] = map_blocks[map_bnums[pbnum]][l++];
|
||||
map_map[row][col++] = map_blocks[map_bnums[pbnum]][l++];
|
||||
map_map[row][col] = map_blocks[map_bnums[pbnum]][l++];
|
||||
row += 1; col -= 3;
|
||||
U8* pBlock;
|
||||
|
||||
pbnum = map_submaps[game_submap].bnum + ((2 * map_frow) & 0xfff8);
|
||||
col = 0;
|
||||
|
||||
for (i = 0; i < 0x0b; i++)
|
||||
{ /* 0x0b rows of blocks */
|
||||
for (j = 0; j < 0x08; j++)
|
||||
{ /* 0x08 blocks per row */
|
||||
|
||||
pBlock = &map_blocks[map_bnums[pbnum]][0];
|
||||
|
||||
for (k = 0, l = 0; k < 0x04; k++)
|
||||
{ /* expand one block */
|
||||
pMap_map[col++] = pBlock[l++];
|
||||
pMap_map[col++] = pBlock[l++];
|
||||
pMap_map[col++] = pBlock[l++];
|
||||
pMap_map[col] = pBlock[l++];
|
||||
pMap_map+=32; col -= 3;
|
||||
}
|
||||
row -= 4; col += 4;
|
||||
pMap_map -= (128); col += 4;
|
||||
pbnum++;
|
||||
}
|
||||
row += 4; col = 0;
|
||||
pMap_map += 128; col = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user