Initial support for monochrome DMD driven by the P-ROC
README.markdown
mention DMD is now supported
fix links
Add EmptyGameDMD, a port of EmptyGame displaying on the DMD
In hddisplaycontroller.py and fakepinproc.py and config.yaml and game.py
Implement new boolean proc_dmd setting in config.yaml, if True, the display frames will be sent to the P-ROC to display. To make this work don't forget to set dmd_dots_w to 128 and dmd_dots_h to 32
Remove use_virtual_dmd_only setting, consider it hardcoded to True if proc_dmd is not True
The change in setting name is to allow a possible future setting we might call rgb_dmd if we finish the RBG DMD support one day.
In asset_manager.py and asset_list.yaml
Use the screen size instead of the window size for the asset manager display
Implement new UserInterface.progress_bar.border_width setting to allow no border for DMD
Implement new optional UserInterface.progress_bar.background setting for the color of the portion of the bar not processed yet
Implement new UserInterface.line_format setting in asset_list.py to allow shorter messages on the DMD, default value is "Loading %s: [%06d] of [%06d]: %s" if self.single_line else "Loading %s: [%06d] of [%06d]"
Make sure the color is opaque (255 alpha) when drawing
Always draw in the asset manager frame, never directly on the screen
Allow for any progress bar border width: 0, 1 or more
Left-align the text with the progress bar
Position second line vertically to be 120% the font height below the first line
If desktop is enabled, let the desktop handle pixel scaling when displaying on the screen
Handle raster fonts and HD fonts when rendering text
Remove unused clearScreen to avoid having to port it to DMD
In desktop_pysdl2.py and sdl2_displaymanager.py
Change make_bits_from_texture() to extract the pixels from the texture in its first argument instead of the default renderer target
In displaycontroller.py
Show message when DMD is enabled
Implement proc_dmd_draw() to send a frame to the P-ROC
In font.py
Add drawHD() for raster fonts, many arguments are ignored, this helps porting to the DMD for code passed a raster font when it expects an HDFont.
In basicgame.py
Let the last frame handler send the frame to the P-ROC if the DMD is enabled
In game.py
do not generate virtual DMD events if the DMD is enabled
The assumption is the P-ROC dip switches disable the DMD event when the DMD is disabled, otherwise it will produce too many DMD events
In skeletongame.py
Read the screen size earlier
Use the screen size when displaying the no connection message
Don't bother showing an error message when the DMD is enabled, the screen is too small for this
In score_display.py
Implement new multiplayer.active.row2.y and multiplayer.inactive.row2.y settings to position player 3 and 4 vertically
Fixed a bug where the reference position for the player 1 and 2 scores were identical
In layers.py
Set the text_width and text_height attributes in TextLayer like the HDTextLayer does
Initial support for monochrome DMD driven by the P-ROC
README.markdown mention DMD is now supported fix links
Add EmptyGameDMD, a port of EmptyGame displaying on the DMD
In hddisplaycontroller.py and fakepinproc.py and config.yaml and game.py Implement new boolean proc_dmd setting in config.yaml, if True, the display frames will be sent to the P-ROC to display. To make this work don't forget to set dmd_dots_w to 128 and dmd_dots_h to 32 Remove use_virtual_dmd_only setting, consider it hardcoded to True if proc_dmd is not True The change in setting name is to allow a possible future setting we might call rgb_dmd if we finish the RBG DMD support one day.
In asset_manager.py and asset_list.yaml Use the screen size instead of the window size for the asset manager display Implement new UserInterface.progress_bar.border_width setting to allow no border for DMD Implement new optional UserInterface.progress_bar.background setting for the color of the portion of the bar not processed yet Implement new UserInterface.line_format setting in asset_list.py to allow shorter messages on the DMD, default value is "Loading %s: [%06d] of [%06d]: %s" if self.single_line else "Loading %s: [%06d] of [%06d]" Make sure the color is opaque (255 alpha) when drawing Always draw in the asset manager frame, never directly on the screen Allow for any progress bar border width: 0, 1 or more Left-align the text with the progress bar Position second line vertically to be 120% the font height below the first line If desktop is enabled, let the desktop handle pixel scaling when displaying on the screen Handle raster fonts and HD fonts when rendering text Remove unused clearScreen to avoid having to port it to DMD
In desktop_pysdl2.py and sdl2_displaymanager.py Change make_bits_from_texture() to extract the pixels from the texture in its first argument instead of the default renderer target
In displaycontroller.py Show message when DMD is enabled Implement proc_dmd_draw() to send a frame to the P-ROC
In font.py Add drawHD() for raster fonts, many arguments are ignored, this helps porting to the DMD for code passed a raster font when it expects an HDFont.
In basicgame.py Let the last frame handler send the frame to the P-ROC if the DMD is enabled
In game.py do not generate virtual DMD events if the DMD is enabled The assumption is the P-ROC dip switches disable the DMD event when the DMD is disabled, otherwise it will produce too many DMD events
In skeletongame.py Read the screen size earlier Use the screen size when displaying the no connection message Don't bother showing an error message when the DMD is enabled, the screen is too small for this
In score_display.py Implement new multiplayer.active.row2.y and multiplayer.inactive.row2.y settings to position player 3 and 4 vertically Fixed a bug where the reference position for the player 1 and 2 scores were identical
In layers.py Set the text_width and text_height attributes in TextLayer like the HDTextLayer does