I have attached my attempt at some minor bugfixes and behaviour changes.
The changes allow for pushable blocks to move on conveyor belts and on horizontally moving moving blocks. There are some questionable behaviour changes with the pushable blocks though; now the player can move any number of singly stacked at a time and still cannot move two blocks lined up horizontally. I thought this was alright and I suppose makeshift stairs could be created and moved around because of this. Is there some kind of outlined behaviour for pushable blocks?
The player now moves with a moving pushable block.
The shadow no longer slides along the top of an immobile pushable block when the player is pushing against it.
The shadow and player when one is on top of the other and they are on a conveyor belt and the person on the bottom is stopped, the person on the top no longer slides across.
The player no longer gets jittery feet when they are standing on a pushable block that is on top of a moving block that is going downward.
I removed calls to the prepareFrame() function because there were some odd bugs with pushable blocks falling through moving blocks. Reseting dx, dy, xVel, and yVel makes it challeging for objects earlier in the loop to be exposed to changes in other objects, i.e if the pushable blocks are added to the map earlier than moving blocks then they cannot know if the moving block has moved because it is reset each loop. The way I changed the loop now is that xVel get reset after a move, but dx, dy, and yVel are not reset.
There was a FIXME in Main.cpp whose logic seemed fine so I did what it asked, it seems fine.
I hope I didn't break anything.
Also how does one remove some of this redundancy from svn diff? It seems to show lines that are the same removed then added.
Edward_Lii I recall that in some obscure post you mentioned that you had a doxygen script. If you could send that I would appreciate it.