FixedRoom2D has mouse support, however, it includes the following design flaws:
Mouse cursor movement speed is not the same as the normal system mouse speed. E.g. the native AllegroFlare display is 1920x1080, but on a display that is 4k the mouse will appear to move much faster, as it's speed is at 4k values. Solution might be to translate the world projection dimensions to the physical dimensions of the display, and scale those dimensions proportionally. What I really don't want is a "mouse sensitivity" option in the settings, ugh. The mouse movement and speed should be identical to how it feels on the OS.
FixedRoom2D/Screen takes raw allegro mouse events. There should probably be some kind of virtual controller fed to FixedRoom2D/Screen. The mouse, keyboard, and joystick could then be mapped to the controller.
Each FixedRoom2D/Room has a cursor. This seems a bit odd and the cursor should be more of a global object that doesn't do things like change to a new position each time you go in that room.
Cursor does not detect or 'hover' over an object when first entering a room. To detect, the cursor must be moved first.
Mouse is incompatible with the inventory screen.
It's unclear if the dimensionality of the room should be involved in the clamping of the mouse cursor position. More likely, it should be clamped to the dimensions of the screen.
FixedRoom2D
has mouse support, however, it includes the following design flaws:FixedRoom2D/Screen
takes raw allegro mouse events. There should probably be some kind of virtual controller fed toFixedRoom2D/Screen
. The mouse, keyboard, and joystick could then be mapped to the controller.FixedRoom2D/Room
has a cursor. This seems a bit odd and the cursor should be more of a global object that doesn't do things like change to a new position each time you go in that room.