30 lines
698 B
C
30 lines
698 B
C
/**
|
|
* Copyright (c) 2025 Dominic Masters
|
|
*
|
|
* This software is released under the MIT License.
|
|
* https://opensource.org/licenses/MIT
|
|
*/
|
|
|
|
#include "tileset.h"
|
|
|
|
void tilesetTileGetUV(
|
|
const tileset_t *tileset,
|
|
const uint16_t tileIndex,
|
|
vec4 outUV
|
|
) {
|
|
const uint16_t column = tileIndex % tileset->columns;
|
|
const uint16_t row = tileIndex / tileset->columns;
|
|
tilesetPositionGetUV(tileset, column, row, outUV);
|
|
}
|
|
|
|
void tilesetPositionGetUV(
|
|
const tileset_t *tileset,
|
|
const uint16_t column,
|
|
const uint16_t row,
|
|
vec4 outUV
|
|
) {
|
|
outUV[0] = column * tileset->uv[0];
|
|
outUV[1] = row * tileset->uv[1];
|
|
outUV[2] = outUV[0] + tileset->uv[0];
|
|
outUV[3] = outUV[1] + tileset->uv[1];
|
|
} |