#ifndef __WALL_TEXTURES_H__
#define __WALL_TEXTURES_H__

/*
 * Wall texture tiles for VB Doom raycaster.
 * Auto-generated by prepare_wall_textures.py
 * 640 wall + 70 transition = 710 total
 *
 * Layout per texture (128 tiles):
 *   0-63: lit  (8 rows x 8 cols)
 *   64-127: dark (8 rows x 8 cols)
 *
 * Tile index formula:
 *   WALL_TEX_CHAR_START + (wallType-1)*128 + tv*64 + row*8 + (tc >> 5)
 *   tv=0 lit, tv=1 dark; row = (texY >> 13) & 7
 */

#define WALL_TEX_COUNT     5
#define WALL_TEX_COLS      8
#define WALL_TEX_ROWS      8
#define WALL_TEX_PER_TYPE  128
#define WALL_TEX_LIT_BLOCK 64
#define WALL_TEX_TOTAL     640
#define WALL_TEX_BYTES     11360

#define WALL_TEX_CHAR_START  1327

#define TRANS_TEX_CHAR_START  1967
#define TRANS_TEX_COUNT       70

extern const unsigned int wallTextureTiles[2840];

/* Switch ON tiles: 128 tiles in ROM for runtime swap */
extern const unsigned int switchOnTiles[512];
#define SWITCH_ON_TILES_BYTES  2048
#define SWITCH_VRAM_OFFSET     512

#define WALL_TYPE_STARTAN  1
#define WALL_TYPE_STONE    2
#define WALL_TYPE_TECH     3
#define WALL_TYPE_DOOR     4
#define WALL_TYPE_SWITCH   5
/* Secret doors: look like brick/stone/tech when closed, open like doors */
#define WALL_TYPE_SECRET_BRICK  6
#define WALL_TYPE_SECRET_STONE  7
#define WALL_TYPE_SECRET_TECH  8
/* Key-locked doors: require matching key to open */
#define WALL_TYPE_KEY_RED    9
#define WALL_TYPE_KEY_YELLOW 10
#define WALL_TYPE_KEY_BLUE   11

#endif
