mirror of https://gitlab.com/drummyfish/anarch.git
Update
This commit is contained in:
parent
1e38f4d552
commit
3bf6e1a077
32
assets.h
32
assets.h
|
@ -121,6 +121,38 @@ const uint8_t SFG_texturesWall[][SFG_TEXTURE_SIZE * SFG_TEXTURE_SIZE] =
|
||||||
12,83,61,12,12,84,84,20,84,13,20,13,83,61,85,85,13,83,61,85,14,85,13,83,12,84,
|
12,83,61,12,12,84,84,20,84,13,20,13,83,61,85,85,13,83,61,85,14,85,13,83,12,84,
|
||||||
11,11,83,61,84,11,20,83,61,20,12,84,12,84,13,20,13,20,83,61,85,13,85,83,61,85,
|
11,11,83,61,84,11,20,83,61,20,12,84,12,84,13,20,13,20,83,61,85,13,85,83,61,85,
|
||||||
85,12,85
|
85,12,85
|
||||||
|
},
|
||||||
|
{
|
||||||
|
4,4,4,4,4,4,4,4,3,4,4,5,4,4,4,4,4,4,5,4,4,5,4,4,4,4,4,4,4,4,4,4,5,4,5,4,5,5,4,5,
|
||||||
|
36,5,4,5,20,5,5,4,5,5,5,4,5,20,5,5,5,20,5,5,5,5,5,4,4,5,4,5,4,4,4,4,4,4,5,4,5,5,
|
||||||
|
4,5,4,5,13,5,5,5,5,20,5,5,5,13,5,5,13,5,4,4,4,4,4,4,4,4,4,4,20,4,4,4,5,4,4,4,5,
|
||||||
|
77,4,5,77,4,4,5,4,5,4,4,5,4,4,76,4,3,4,3,4,35,3,4,4,4,76,76,76,4,76,76,76,4,76,
|
||||||
|
4,4,76,4,76,76,4,4,76,4,76,4,4,4,4,37,5,36,5,4,4,37,5,4,5,4,5,4,5,4,5,20,5,20,5,
|
||||||
|
36,5,5,5,4,4,4,4,37,5,4,36,36,4,37,4,36,5,4,5,20,5,4,4,5,4,5,5,5,4,5,5,4,4,13,4,
|
||||||
|
5,4,4,4,4,4,4,4,4,4,4,4,4,5,20,4,5,4,4,4,4,20,5,20,5,4,4,13,5,5,4,4,77,4,4,4,5,
|
||||||
|
4,4,4,4,4,37,4,4,4,5,4,4,4,4,4,4,5,4,4,4,4,5,4,4,4,77,4,4,4,4,4,4,4,4,4,4,4,4,4,
|
||||||
|
4,4,4,4,4,77,4,3,4,4,4,4,76,4,77,76,4,76,4,4,4,4,4,4,4,3,4,3,3,4,4,3,3,4,76,4,4,
|
||||||
|
4,76,76,4,4,76,4,4,4,4,4,4,76,4,4,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
|
||||||
|
4,4,4,4,4,20,5,20,4,37,4,4,4,4,36,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,77,4,4,4,5,
|
||||||
|
4,5,36,4,4,4,36,20,4,4,4,4,4,4,4,4,4,4,4,12,4,4,4,4,76,4,4,5,13,4,4,4,4,4,20,5,
|
||||||
|
20,4,4,4,4,3,19,4,3,4,4,4,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,3,11,
|
||||||
|
11,11,11,76,3,3,11,11,11,3,12,11,76,3,11,76,76,11,11,11,11,11,11,11,11,3,11,3,3,
|
||||||
|
35,4,12,4,4,12,4,4,19,4,37,4,4,4,20,4,36,4,4,36,4,20,4,4,36,4,37,4,4,20,4,37,4,
|
||||||
|
37,36,36,4,36,20,36,20,37,37,20,36,37,20,37,36,4,20,5,37,20,4,37,4,37,37,20,37,
|
||||||
|
4,37,20,36,5,36,36,4,20,4,37,4,20,4,4,5,37,5,37,4,36,5,36,5,36,4,20,36,20,5,4,
|
||||||
|
37,20,37,37,20,37,4,4,4,3,4,4,36,4,36,20,4,20,4,4,4,4,20,4,4,5,4,4,4,4,20,4,37,
|
||||||
|
20,4,37,20,4,20,36,4,12,4,3,4,12,4,4,36,4,20,36,4,4,4,4,20,4,4,20,4,4,36,4,20,5,
|
||||||
|
4,4,4,3,3,3,3,3,4,36,3,3,3,36,3,3,4,3,3,36,36,3,3,3,4,4,3,4,4,3,4,35,4,4,4,20,
|
||||||
|
36,36,20,37,20,4,36,36,20,36,4,36,4,36,4,4,4,37,20,4,36,5,37,4,20,4,35,4,37,36,
|
||||||
|
4,4,37,4,36,37,36,36,4,36,36,20,36,36,37,4,36,36,4,36,4,4,4,36,37,4,36,20,36,20,
|
||||||
|
37,4,37,4,36,36,4,20,36,37,36,4,37,37,36,20,4,36,36,36,36,20,36,4,4,4,4,4,4,4,4,
|
||||||
|
36,4,20,36,20,4,36,4,36,4,36,36,36,20,36,36,36,36,36,36,4,36,36,4,36,4,4,4,20,
|
||||||
|
37,4,20,4,36,4,4,3,3,3,3,3,3,3,3,36,4,3,12,12,36,12,3,35,4,19,3,3,3,11,3,4,4,4,
|
||||||
|
36,4,3,19,3,19,4,36,12,4,36,4,4,3,36,4,12,4,3,4,130,4,4,4,12,4,12,12,3,4,3,4,4,
|
||||||
|
4,4,4,4,3,12,4,3,4,19,4,3,4,12,3,36,4,4,4,4,3,3,4,4,12,4,4,4,12,4,12,4,3,4,3,4,
|
||||||
|
36,3,3,36,4,3,19,3,3,4,3,3,4,4,3,4,11,4,4,3,4,12,4,4,4,4,4,4,12,4,19,4,19,4,3,3,
|
||||||
|
3,3,4,3,4,3,4,12,3,4,3,3,4,3,4,4,4,3,4,36,4,4,12,4,3,4,3,3,3,130,3,3,3,3,3,3,
|
||||||
|
130,3,3,3,2,2,130,130,3,3,11,3,3,3,3,3,3,130,3,3,130,3,3,3
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
51
levels.h
51
levels.h
|
@ -10,12 +10,16 @@ typedef uint16_t SFG_TileDefinition;
|
||||||
|
|
||||||
MSB aaabbbbb cccddddd LSB
|
MSB aaabbbbb cccddddd LSB
|
||||||
|
|
||||||
aaa: ceiling texture index (from texture available on the map)
|
aaa: ceiling texture index (from texture available on the map), 111
|
||||||
|
means completely transparent texture
|
||||||
bbbb: ceiling height (1111 meaning no ceiling) ABOVE the floor
|
bbbb: ceiling height (1111 meaning no ceiling) ABOVE the floor
|
||||||
ccc: floor texture index
|
ccc: floor texture index, 111 means completely transparent texture
|
||||||
dddd: floor height
|
dddd: floor height
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define SFG_TILE_CEILING_MAX_HEIGHT 31
|
||||||
|
#define SFG_TILE_TEXTURE_TRANSPARENT 7
|
||||||
|
|
||||||
typedef SFG_TileDefinition SFG_TileDictionary[SFG_TILE_DICTIONARY_SIZE];
|
typedef SFG_TileDefinition SFG_TileDictionary[SFG_TILE_DICTIONARY_SIZE];
|
||||||
|
|
||||||
/// helper macros for SFG_TileDefinition
|
/// helper macros for SFG_TileDefinition
|
||||||
|
@ -27,8 +31,9 @@ typedef SFG_TileDefinition SFG_TileDictionary[SFG_TILE_DICTIONARY_SIZE];
|
||||||
|
|
||||||
#define SFG_TILE_FLOOR_HEIGHT(tile) (tile & 0x1f)
|
#define SFG_TILE_FLOOR_HEIGHT(tile) (tile & 0x1f)
|
||||||
#define SFG_TILE_FLOOR_TEXTURE(tile) ((tile & 0xe0) >> 5)
|
#define SFG_TILE_FLOOR_TEXTURE(tile) ((tile & 0xe0) >> 5)
|
||||||
|
#define SFG_TILE_CEILING_HEIGHT(tile) ((tile & 0x1f00) >> 8)
|
||||||
|
|
||||||
#define SFG_OUTSIDE_TILE SFG_TD(63,10,0,0)
|
#define SFG_OUTSIDE_TILE SFG_TD(63,0,7,7)
|
||||||
|
|
||||||
typedef uint8_t SFG_MapArray[SFG_MAP_SIZE * SFG_MAP_SIZE];
|
typedef uint8_t SFG_MapArray[SFG_MAP_SIZE * SFG_MAP_SIZE];
|
||||||
/**<
|
/**<
|
||||||
|
@ -77,31 +82,31 @@ static const SFG_Level SFG_level0 =
|
||||||
{
|
{
|
||||||
.tileDictionary =
|
.tileDictionary =
|
||||||
{
|
{
|
||||||
SFG_TD(0 ,0 ,0,0),SFG_TD(5 ,0 ,0,0),SFG_TD(1 ,0 ,1,0),SFG_TD(2 ,0 ,1,0), // 0
|
SFG_TD(0 ,31,0,0),SFG_TD(5 ,63,0,0),SFG_TD(1 ,63,3,0),SFG_TD(2 ,63,3,0), // 0
|
||||||
SFG_TD(3 ,0 ,1,0),SFG_TD(4 ,0 ,1,0),SFG_TD(5 ,0 ,1,0),SFG_TD(0 ,0 ,0,0), // 4
|
SFG_TD(3 ,31,3,0),SFG_TD(4 ,63,3,0),SFG_TD(5 ,63,3,0),SFG_TD(1 ,10,0,0), // 4
|
||||||
SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0), // 8
|
SFG_TD(0 ,31,0,0),SFG_TD(0 ,63,0,0),SFG_TD(0 ,63,0,0),SFG_TD(0 ,63,0,0), // 8
|
||||||
SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0), // 12
|
SFG_TD(0 ,31,0,0),SFG_TD(0 ,63,0,0),SFG_TD(0 ,63,0,0),SFG_TD(0 ,63,0,0), // 12
|
||||||
SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0), // 16
|
SFG_TD(0 ,31,0,0),SFG_TD(0 ,63,0,0),SFG_TD(0 ,63,0,0),SFG_TD(0 ,63,0,0), // 16
|
||||||
SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0), // 20
|
SFG_TD(0 ,31,0,0),SFG_TD(0 ,63,0,0),SFG_TD(0 ,63,0,0),SFG_TD(0 ,63,0,0), // 20
|
||||||
SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0), // 24
|
SFG_TD(0 ,31,0,0),SFG_TD(0 ,63,0,0),SFG_TD(0 ,63,0,0),SFG_TD(0 ,63,0,0), // 24
|
||||||
SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0), // 28
|
SFG_TD(0 ,31,0,0),SFG_TD(0 ,63,0,0),SFG_TD(0 ,63,0,0),SFG_TD(0 ,63,0,0), // 28
|
||||||
SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0), // 32
|
SFG_TD(0 ,31,0,0),SFG_TD(0 ,63,0,0),SFG_TD(0 ,63,0,0),SFG_TD(0 ,63,0,0), // 32
|
||||||
SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0), // 36
|
SFG_TD(0 ,31,0,0),SFG_TD(0 ,63,0,0),SFG_TD(0 ,63,0,0),SFG_TD(0 ,63,0,0), // 36
|
||||||
SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0), // 40
|
SFG_TD(0 ,31,0,0),SFG_TD(0 ,63,0,0),SFG_TD(0 ,63,0,0),SFG_TD(0 ,63,0,0), // 40
|
||||||
SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0), // 44
|
SFG_TD(0 ,31,0,0),SFG_TD(0 ,63,0,0),SFG_TD(0 ,63,0,0),SFG_TD(0 ,63,0,0), // 44
|
||||||
SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0), // 48
|
SFG_TD(0 ,31,0,0),SFG_TD(0 ,63,0,0),SFG_TD(0 ,63,0,0),SFG_TD(0 ,63,0,0), // 48
|
||||||
SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0), // 52
|
SFG_TD(0 ,31,0,0),SFG_TD(0 ,63,0,0),SFG_TD(0 ,63,0,0),SFG_TD(0 ,63,0,0), // 52
|
||||||
SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0), // 56
|
SFG_TD(0 ,31,0,0),SFG_TD(0 ,63,0,0),SFG_TD(0 ,63,0,0),SFG_TD(0 ,63,0,0), // 56
|
||||||
SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0),SFG_TD(0 ,0 ,0,0), // 60
|
SFG_TD(0 ,31,0,0),SFG_TD(0 ,63,0,0),SFG_TD(0 ,63,0,0),SFG_TD(0 ,63,0,0), // 60
|
||||||
},
|
},
|
||||||
|
|
||||||
.mapArray =
|
.mapArray =
|
||||||
{
|
{
|
||||||
#define o 0
|
#define o 0
|
||||||
o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,
|
o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,7 ,7 ,7 ,7 ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,
|
||||||
o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,
|
o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,7 ,7 ,7 ,7 ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,
|
||||||
o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,1 ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,
|
o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,7 ,7 ,7 ,7 ,o ,o ,o ,o ,1 ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,
|
||||||
o ,o ,o ,o ,o ,o ,o ,o ,2 ,o ,o ,o ,o ,o ,o ,o ,o ,o ,1 ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,
|
o ,o ,o ,o ,o ,o ,o ,o ,2 ,o ,7 ,7 ,7 ,7 ,o ,o ,o ,o ,1 ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,
|
||||||
o ,o ,o ,o ,o ,o ,o ,o ,3 ,o ,o ,o ,o ,o ,o ,o ,o ,o ,1 ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,
|
o ,o ,o ,o ,o ,o ,o ,o ,3 ,o ,o ,o ,o ,o ,o ,o ,o ,o ,1 ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,
|
||||||
o ,o ,o ,o ,o ,o ,o ,o ,4 ,o ,o ,o ,o ,o ,o ,o ,o ,o ,1 ,1 ,1 ,1 ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,
|
o ,o ,o ,o ,o ,o ,o ,o ,4 ,o ,o ,o ,o ,o ,o ,o ,o ,o ,1 ,1 ,1 ,1 ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,
|
||||||
o ,o ,o ,o ,o ,6 ,6 ,6 ,5 ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,
|
o ,o ,o ,o ,o ,6 ,6 ,6 ,5 ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,o ,
|
||||||
|
|
17
main.c
17
main.c
|
@ -71,7 +71,7 @@ void SFG_pixelFunc(RCL_PixelInfo *pixel)
|
||||||
if (pixel->isWall)
|
if (pixel->isWall)
|
||||||
{
|
{
|
||||||
color =
|
color =
|
||||||
pixel->hit.type != SFG_TRANSPARENT_TEXTURE ?
|
pixel->hit.type != SFG_TILE_TEXTURE_TRANSPARENT ?
|
||||||
(SFG_getTexel(SFG_texturesWall[pixel->hit.type],pixel->texCoords.x / 32,pixel->texCoords.y / 32)) :
|
(SFG_getTexel(SFG_texturesWall[pixel->hit.type],pixel->texCoords.x / 32,pixel->texCoords.y / 32)) :
|
||||||
SFG_TRANSPARENT_COLOR;
|
SFG_TRANSPARENT_COLOR;
|
||||||
|
|
||||||
|
@ -100,11 +100,6 @@ void SFG_pixelFunc(RCL_PixelInfo *pixel)
|
||||||
RCL_Unit SFG_textureAt(int16_t x, int16_t y)
|
RCL_Unit SFG_textureAt(int16_t x, int16_t y)
|
||||||
{
|
{
|
||||||
SFG_TileDefinition tile = SFG_getMapTile(&SFG_level0,x,y);
|
SFG_TileDefinition tile = SFG_getMapTile(&SFG_level0,x,y);
|
||||||
|
|
||||||
if (tile == SFG_OUTSIDE_TILE &&
|
|
||||||
(x < 0 || x >= SFG_MAP_SIZE || y < 0 || y >= SFG_MAP_SIZE))
|
|
||||||
return SFG_TRANSPARENT_TEXTURE;
|
|
||||||
|
|
||||||
return SFG_TILE_FLOOR_TEXTURE(tile);
|
return SFG_TILE_FLOOR_TEXTURE(tile);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -117,7 +112,13 @@ RCL_Unit SFG_floorHeightAt(int16_t x, int16_t y)
|
||||||
|
|
||||||
RCL_Unit SFG_ceilingHeightAt(int16_t x, int16_t y)
|
RCL_Unit SFG_ceilingHeightAt(int16_t x, int16_t y)
|
||||||
{
|
{
|
||||||
return RCL_UNITS_PER_SQUARE * 8;
|
SFG_TileDefinition tile = SFG_getMapTile(&SFG_level0,x,y);
|
||||||
|
|
||||||
|
uint8_t height = SFG_TILE_CEILING_HEIGHT(tile);
|
||||||
|
|
||||||
|
return height != SFG_TILE_CEILING_MAX_HEIGHT ?
|
||||||
|
((SFG_TILE_FLOOR_HEIGHT(tile) + height) * (RCL_UNITS_PER_SQUARE / 4)) :
|
||||||
|
(RCL_UNITS_PER_SQUARE * 32);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t SFG_frame;
|
uint32_t SFG_frame;
|
||||||
|
@ -137,7 +138,7 @@ void SFG_init()
|
||||||
SFG_camera.position.x = RCL_UNITS_PER_SQUARE * 5;
|
SFG_camera.position.x = RCL_UNITS_PER_SQUARE * 5;
|
||||||
SFG_camera.position.y = RCL_UNITS_PER_SQUARE * 5;
|
SFG_camera.position.y = RCL_UNITS_PER_SQUARE * 5;
|
||||||
|
|
||||||
SFG_rayConstraints.maxHits = 6;
|
SFG_rayConstraints.maxHits = 10;
|
||||||
SFG_rayConstraints.maxSteps = 32;
|
SFG_rayConstraints.maxSteps = 32;
|
||||||
|
|
||||||
for (uint16_t i = 0; i < SFG_RESOLUTION_Y; ++i)
|
for (uint16_t i = 0; i < SFG_RESOLUTION_Y; ++i)
|
||||||
|
|
Loading…
Reference in New Issue