bzhxx / LCD-Game-Shrinker

This program permits to shrink MAME high resolution artwork and graphics for portable device running LCD-Game-Emulator.
GNU General Public License v3.0
38 stars 11 forks source link

LCD-Game-Shrinker

This program permits to shrink MAME ROM & Artwork of LCD handheld devices (Game & Watch, Konami, Tiger, Elektronika,...).

High resolution artworks are mixed, downscaled and color reduced to match portable device performances.

LCD segments are resized and extracted from Scalable Vector Graphics with drop shadow effect.

Finally, a compressed data file is created including all relevant information for portable device running LCD-Game-Emulator : https://github.com/bzhxx/LCD-Game-Emulator

Environment

Python (3.6) script tested under Linux Ubuntu and Windows 10.

Requirements

The following application need to be installed

The following Python modules are used

Usage

MAME Artworks and ROMs

This tool is used to shrink any MAME artwork and ROM SM510 family. You have to place Artwork file and ROM file in their respective directory input/artwork and input/rom.

Design, layout and artwork by hydef or DarthMarino are recommended. www.mameworld.info

Execute

Python shrink_it.py to process all files or Python shrink_it.py input/rom/gnw_mygame_zip to process a single file.

All intermediate files are created in build/ directory. At the end, resulting files are available under output/ directory. The resulting files can be executed by https://github.com/bzhxx/LCD-Game-Emulator ported on https://github.com/bzhxx/game-and-watch-retro-go

Advanced usage : Custom rules

It's possible to customize the shrinking process by adding some image processing on artwork and graphics. For this purpose, a python script is available or must be added in custom/ directory. Sometimes, an example is better than any explanation. So, have a look on https://github.com/bzhxx/LCD-Game-Shrinker/blob/main/custom/gnw_ball.py; This script customizes the rendering by adding gradient effect, anti-newton rings filter, artwork background shadow and experimental drop shadow effect on each LCD segments.