I managed to fix the performaceproblem regarding my A*-implementation, thanks to you guys!
However, that made a new problem appear. When I use a heuristic value for my pathing, it becomes incorrect while skipping it returns the correct path but of corse takes a longer time (WAY longer on larger maps).
Illustration (left one is using heuristic):
The heuristic is computed like this:
hCost = 10*(abs(checkingNode->pos.x - goal->pos.x) + abs(checkingNode->pos.y - goal->pos.y)) finalCost = hCost + gCost; // with 10 beeing the G-cost for moving one square (in only left/right/top/bot direction), and 14 for diagonal
The next sqaure to be put on my openlist is the one with the lowest cost, of corse. I can see why this is happening, but I can't think of a way to fix this. The tutorials I checked all where using this exact heuristic.
If you can help me out here again, I'd greatly appreciate it!