File indexing completed on 2024-11-10 03:44:59
0001 /* 0002 SPDX-FileCopyrightText: 1997 Mathias Mueller <in5y158@public.uni-hamburg.de> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef KMTYPES_H 0008 #define KMTYPES_H 0009 0010 //---------------------------------------------------------- 0011 // TYPEDEFS 0012 //---------------------------------------------------------- 0013 typedef unsigned char UCHAR; 0014 typedef unsigned char BYTE; 0015 typedef unsigned short USHORT; 0016 0017 /** 0018 * @short struct pos POSITION 0019 */ 0020 typedef struct pos 0021 { 0022 pos() 0023 : z(0) 0024 , y(0) 0025 , x(0) 0026 , f(0) 0027 { 0028 } 0029 USHORT z; 0030 USHORT y; 0031 USHORT x; 0032 USHORT f; /**< face id of the tile */ 0033 } POSITION; 0034 0035 /** 0036 * @short struct dep DEPENDENCY 0037 */ 0038 typedef struct dep 0039 { 0040 int turn_dep[4]; /**< Turn dependencies */ 0041 int place_dep[4]; /**< Placing dependencies */ 0042 int lhs_dep[2]; /**< Left side dependencies, same level */ 0043 int rhs_dep[2]; /**< Right side dependencies, same level */ 0044 bool filled; /**< True if this tile has been placed. */ 0045 bool free; /**< True if this tile can be removed? */ 0046 } DEPENDENCY; 0047 0048 /** 0049 * @short Tile angles for face composition 0050 */ 0051 enum TileViewAngle { 0052 NW, /**< North West */ 0053 NE, /**< North East */ 0054 SE, /**< South East */ 0055 SW /**< South West */ 0056 }; 0057 0058 constexpr int TILE_OFFSET = 2; 0059 constexpr int TILE_CHARACTER = 0 + TILE_OFFSET; 0060 constexpr int TILE_BAMBOO = 9 + TILE_OFFSET; 0061 constexpr int TILE_ROD = 18 + TILE_OFFSET; 0062 constexpr int TILE_SEASON = 27 + TILE_OFFSET; 0063 constexpr int TILE_WIND = 31 + TILE_OFFSET; 0064 constexpr int TILE_DRAGON = 35 + TILE_OFFSET; 0065 constexpr int TILE_FLOWER = 38 + TILE_OFFSET; 0066 0067 #endif