|
| 1 | +# VMU Icon Maker |
| 2 | + |
| 3 | +VMU Icon Maker is a tool designed to create and manage icons for the Dreamcast VMU (Visual Memory Unit). This application allows users to generate, edit, and save ICONDATA_VMS icon files. |
| 4 | + |
| 5 | +## Getting Started |
| 6 | + |
| 7 | +To quickly get started with VMU Icon Maker, you have two options: |
| 8 | + |
| 9 | +1. **Run in Browser**: Download the project and open `index.html` directly in your browser to start using the application without any installation. |
| 10 | + |
| 11 | +2. **Download Release Build**: Download the latest release build for Windows, macOS, or Linux from the [releases page](https://github.com/yourusername/vmu-icon-maker/releases) and run the application on your system. |
| 12 | + |
| 13 | +## What are VMU Icons? |
| 14 | + |
| 15 | +`ICONDATA_VMS` is a hidden file that can be stored on a VMS to get a custom icon for the VMS. In addition to the monochrome icon displayed on the VMS screen, you can also have a 16-colour icon for the DC file manager. |
| 16 | + |
| 17 | +## Features |
| 18 | + |
| 19 | +- **Icon Creation**: Create and edit color and monochrome VMU icons using two drawable canvases with custom 16-color palette editor, 16-bit color picker. |
| 20 | + |
| 21 | +- **Real Mode**: Sets special feature flag that enables a hidden 3D mode for the Dreamcast BIOS menu called "Real Mode". |
| 22 | + |
| 23 | +- **Offline Functionality**: The app works entirely offline, with all necessary libraries included. |
| 24 | + |
| 25 | +- **History Management**: Save and manage icon history with previews and metadata. |
| 26 | + |
| 27 | +- **Import File Support**: Supports various file formats including `.vms`, `.dci`, `.dcm`, `.psv`, `.bmp`, `.png`, `.jpg`, `.gif`, `.ico`, and `.webp`. |
| 28 | + |
| 29 | +- **Drag and Drop Support**: Drag and drop images to the application to import and convert them. |
| 30 | + |
| 31 | +- **Automatic Image Conversion**: The app will automatically convert imported images to the Dreamcast VMU format. |
| 32 | + - Resizes images to 32x32 pixels |
| 33 | + - Reduces colors to a 16-bit 16 color palette. |
| 34 | + - Converts images to monochrome icon. |
| 35 | + - Extracts and converts icons from Dreamcast and PlayStation save files. |
| 36 | + |
| 37 | +## Development Installation |
| 38 | + |
| 39 | +1. **Clone the Repository**: |
| 40 | + ```bash |
| 41 | + git clone https://github.com/yourusername/vmu-icon-maker.git |
| 42 | + cd vmu-icon-maker |
| 43 | + ``` |
| 44 | + |
| 45 | +2. **Install Dependencies**: |
| 46 | + ```bash |
| 47 | + npm install |
| 48 | + ``` |
| 49 | + |
| 50 | +3. **Run the Application in development mode**: |
| 51 | + ```bash |
| 52 | + npm start |
| 53 | + ``` |
| 54 | + |
| 55 | +## Building the Application |
| 56 | + |
| 57 | +To build the application for different platforms, use the following command: |
| 58 | + |
| 59 | +- Run `npm run build` to generate production-ready builds for Linux, Windows, and macOS. The output will be located in the `dist` directory. |
| 60 | + |
| 61 | +## File Structure |
| 62 | + |
| 63 | +- **`main.js`**: Entry point for the Electron application. |
| 64 | +- **`app.js`**: Contains the main logic for icon creation and management. |
| 65 | +- **`index.html`**: The main HTML file for the application's interface. |
| 66 | +- **`styles.css`**: Stylesheet for the application's UI. |
| 67 | +- **`libs/`**: Directory containing external libraries like `three.js` and `jszip`. |
| 68 | +- **`assets/`**: Contains icons and other static assets. |
| 69 | + |
| 70 | +## Contributing |
| 71 | + |
| 72 | +Contributions are welcome! Please fork the repository and submit a pull request for any improvements or bug fixes. |
| 73 | + |
| 74 | +## License |
| 75 | + |
| 76 | +This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details. |
| 77 | + |
| 78 | +## Contact |
| 79 | + |
| 80 | +For any questions or feedback, please contact [@RobertDaleSmith](https://x.com/RobertDaleSmith)). |
| 81 | + |
| 82 | +## Resources |
| 83 | + |
| 84 | +- [Dreamcast VMU Icon Format](https://nz17.com/interactive/dreamcast/dv_icy-dreamcast_vmu_icon_viewer_and_converter/Dreamcast%20Programming%20-%20ICONDATA_VMS.txt): Detailed information about the VMU icon file format. |
| 85 | +- [Dreamcast 3D Menu](https://vmu.elysianshadows.com/evmu__icondata_8h.html): Detailed information about the 3D 'Real Mode' menu. |
| 86 | +- [Dreamcast VMU Icons](http://dcvmuicons.net): Archive of Dreamcast VMU icons. |
0 commit comments