Initializes a new chess game with default piece positions.
Validates if a move is legal according to chess rules.
Executes a move and updates game state.
Checks if specified color is in check.
Main game loop and window management.
Loads all piece textures and resources.
typedef struct {
Piece board[8][8];
ColorPieces currentTurn;
bool isCheck;
bool isCheckmate;
Move lastMove;
} GameState;typedef struct {
int fromX;
int fromY;
int toX;
int toY;
} Move;