Getting tile data from overworld
This commit is contained in:
@ -25,8 +25,8 @@ void mapInit() {
|
||||
void mapUpdate() {
|
||||
// Copy tile ids.
|
||||
memoryCopyRangeSafe(
|
||||
&MAP_DATA.tileIds,
|
||||
&OVERWORLD.tileIds[0],
|
||||
MAP_DATA.tileIds,
|
||||
OVERWORLD.tileIds,
|
||||
&OVERWORLD.tileIds[
|
||||
OVERWORLD.mapWidth * OVERWORLD.mapHeight * OVERWORLD.mapLayerCount
|
||||
],
|
||||
|
@ -7,8 +7,10 @@
|
||||
#include "../fragments/packed.glsl"
|
||||
#include "../fragments/quad.glsl"
|
||||
|
||||
#define MAP_TILE_PACKED_SIZE 16
|
||||
|
||||
layout(std140) uniform b_Map {
|
||||
uvec4 mapTileIds[OVERWORLD_TILE_COUNT_MAX / PACKED_U8_PER_UVEC4];
|
||||
uvec4 mapTileIds[OVERWORLD_TILE_COUNT_MAX / MAP_TILE_PACKED_SIZE];
|
||||
uint mapSize;
|
||||
uvec3 _padding0;
|
||||
};
|
||||
@ -42,5 +44,6 @@ uint mapGetLayer(uint instanceIndex) {
|
||||
}
|
||||
|
||||
uint mapGetTileId(uint instanceIndex) {
|
||||
|
||||
uvec4 v4 = mapTileIds[packedArrayGetU8IndexFromUVEC4Array(instanceIndex)];
|
||||
return packedArrayGetU8FromUVEC4ArrayValue(instanceIndex, v4);
|
||||
}
|
Reference in New Issue
Block a user