I can completely relate to that - it will make it all the sweeter when it's all done and working.
Anyway, I only ask as I would have thought it might give an incorrect answer?
E.g. you want the walkable area the player is standing on, so you get the players x/y coordinates and check if that's on a walkable area. By subtracting the viewport x/y (assuming either is greater than 0) the location you're checking isn't actually where the player is standing. The greater the viewport values the greater the impact on the output. Not sure how well I explained that - and there might be a completely valid reason for doing it like that which i'm not seeing. Someone with more experience might be able to confirm if i'm being a dunce or not - maybe the GetViewport x/y values are always 0 and not the room x/y values for where it's positioned?
How about the move functions - do any of them equal where the player is being incorrectly moved to?
Anyway, I only ask as I would have thought it might give an incorrect answer?
E.g. you want the walkable area the player is standing on, so you get the players x/y coordinates and check if that's on a walkable area. By subtracting the viewport x/y (assuming either is greater than 0) the location you're checking isn't actually where the player is standing. The greater the viewport values the greater the impact on the output. Not sure how well I explained that - and there might be a completely valid reason for doing it like that which i'm not seeing. Someone with more experience might be able to confirm if i'm being a dunce or not - maybe the GetViewport x/y values are always 0 and not the room x/y values for where it's positioned?
How about the move functions - do any of them equal where the player is being incorrectly moved to?