Looks good! The mouse stuff for the coaster building is indeed a bit complex, we're looking to simplify it down a bit soon
A few comments though:
- Don't leave commented out code. Admittedly, the MarkWidgetDirty function does not do very much currently, but that's due to limitations in the rendering engine, rather than anything else, and leaving the MarkDirty-s in will save time in the future
- I wouldn't use #defines for the constants, especially when they're only used once. See if there's an existing constant somewhere, if not, just use the values, with a comment
- We use tabs for indentation
In the future, if you could post your patch at our official bug tracker:
https://code.google.com/p/freerct/issues that'd be lovely :)