- Internal iterative deepening was added along with hash move search before generating moves
- The aspiration windows were reduced to 10 centipawns
- The evaluation output was changed back to show the eval from the engine's point of view
Once we have a hash move it will be searched before generating any other moves, that way if we get a cutoff from it (which should be quite likely) we saved some time.
I have chosen to not check the hash move for validity as of now. This can be risky since it is possible for two different positions to have the same zobrist key (possible but highly unlikely). I will probably add some sort of verifier in upcoming versions.