Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ra101/pokeshelf

Quick Access Interface for All of Your Pokémon Games
https://github.com/ra101/pokeshelf

pokemon pokemon-essentials python python-gui python3 python3-gui tkinter tkinter-gui

Last synced: 3 days ago
JSON representation

Quick Access Interface for All of Your Pokémon Games

Awesome Lists containing this project

README

        





source_code download download

Stars Forks License Open Issues Contributors


## 📄 Prerequisite

There various methods to make a Pokémon fangames. The most notable ones are:

- Using [Pokémon Essentials](https://pokemon-fan-game.fandom.com/wiki/Pok%C3%A9mon_Essentials), A base [RPG Maker XP](https://www.rpgmakerweb.com/products/rpg-maker-xp) project that comes with its own debugger, map connector and alot of free tools, It is community driven project, and is always up-to-date! RPG-Maker-XP only compiles games to Windows, so these are essentially Windows only games!
- By [ROM Hacking](https://en.wikipedia.org/wiki/ROM_hacking), These are created by editing the base ROM of _legally owned_ Pokémon game, We will be taking only [GameBoy Series](https://en.wikipedia.org/wiki/Game_Boy_Advance) and [Nintendo DS](https://en.wikipedia.org/wiki/Nintendo_DS) in account, since they have the most used games as base Image. These Fangames are made for their respective console, but can be played on any device using [Emulator](https://en.wikipedia.org/wiki/Emulator)!


## 💼 About


"Those who play Pokémon Games, typically have alot of them" ~ My Experience

**PokéShelf** is a living gallery that hosts all games downloaded/installed by the User, May it be _Essentials_ game or GBx/NDS ROM!

- PokéShelf itself is themed like a Pokémon game menu, with almost no mouse input and key bindings similar to _Emulators_ and _Essentials_ game, all this to maintain the Immersion.
- Once Configured, Play Games Directly from PokeShelf, even the ones that require Emulator!
- You can Add Custom Background Image/Video and Custom Music for each fangame.
- Auto Add functionality for BG and Music for most of the _Essentials_ Games, To enable this functionality with ROMs or with your incompatible _Essentials_ Game, Check the [BG Auto-Add Guide](#-how-bg-auto-add-works).
- Lastly, A Quit-to-Tray Option, if required, _I personally never used It._


## 💥 Get Started

You are First Encountered with the **Splash** Screen, Add a game in order to get in the **Shelf**.


( **θ** ) **Controls**:

| Action | Key |
| ------------ | ------------------------------------- |
| Escape | `` │ ``|
| Navigation | ⬆️ │ `` ; ⬇️ │ ``|
| Adjust Value | ⬅️ ; ➡️|
| Enter | `` │ `` │`` │`` |




**( I )** Open **Options** by Press `Alt + S` *(S as in Settings)* or Click on `Options` in Menu Bar.

Alt + S

- Adjust Music Volume

- Adjust Screen Size, >= L recommended

- You can't update Game Order within Shelf, Edit it in `config.json`.

- Add GBx Emulator if you intend to add GameBoy ROMs, [VisualBoy Advance](https://visualboyadvance.org/) is tested and recommended, It can emulate all GameBoy Series consoles (`.gb`, `.gbc`, `.gba`)

- Add NDS Emulator if you intend to add Nintendo DS ROMs, [DeSmuME](https://desmume.org) is tested and recommended.

- Activate Quit-to-Tray Option, if required

- `Save` to remember this for next time, `Cancel` to revert back or Press `Esc` to simply use these settings as a one time thing.



**( II )** Open **Add Game** by Press `Ctrl + A` *(A as in Add)* or Click on `Game > Add Game` in Menu Bar.

Ctrl + A

- Add Essentials Game (`.exe`) **or** GBx ROM (`.gb`, `.gbc`, `.gba`) **or** NDS ROM (`.nds`). *(While Adding ROMs make sure to have already added respective Emulator or else Save Button won't work)*
- As soon as you add Game, [Auto Add]((#-how-bg-auto-add-works)) functionality would kick in for `BG Image/Video` and `BG Music`, But incase it doesn't, You have ability to Manualy Select Both of Them
- File type for `BG Image/Video`: `.png`, `.jpg`, `.jpeg`, `.bmp`, `.gif`, `.mp4`, `.mkv`, `.webm`, `.avi`, `.mov`
- File type for `BG Music`: `.wav`, `.ogg`, `.flac` (unfortunately `.mid` is not yet supported)
- If it doesn't kick in, To enable this functionality with ROMs or with your incompatible _Essentials_ Game, Check the [BG Auto-Add Guide](#-how-bg-auto-add-works), and go to edit menu and readd the game.



- Press `Save`, It will send into the `Shelf` Screen, with your game displayed on front, `Cancel` will send you back to `Spash` Screen.



**( III )** Once A Game is Added, You can go to **Shelf** Screen by `Ctrl + S` *(S as in Shelf)* or Click on `Game > PokeShelf` in Menu Bar.

Ctrl + S

- You can use ``-`` to navigate b/w Games; Press `` to Exit Shelf and **Start** the selected Game!
- To **Remove Game**, Simpily naviagte to the game you want to remove and Press `Ctrl + R` *(R as in Remove)* or Click on `Game > Remove Game` in Menu Bar.

Ctrl + R


- To **Edit Game**, Simpily naviagte to the game you want to edit and Press `Ctrl + E` *(E as in Edit)* or Click on `Game > Edit Game` in Menu Bar.

Ctrl + E



**( IV )** To get Details about the app, Press `Alt + A` *(A as in About)* or Click on `About` in Menu Bar.

Alt + A




## 📜 How BG Auto-Add Works!

Background files are added automacially for Essentials Games, This is see how a typical Essentials Game Folder Structure Looks:

So, Shelf automatically looks for



  • BG Img/Vid in ./Graphics/Titles/


  • BG Music in ./Audio/BGM/


### Priority List for File Name:

*Lower the Rank, Higher the Priority*

1. **`Shelf`**: for example, `shelf.gif` , `SHelf.mp4`, `ShElf.ogg`

2. **`GameName`** :
- **Folder Name** for an **Essentials Game**, e.g.:`eSsEnstiAls gAme.png`, `Pokemon Uranium.wav`
- ROM **File Name** for **ROM**, e.g.: `radical-red-v2.3a.jpg`, `unbound-v1.1.3.1.ogg `

3. **`Title`** : First file with name starting with **title**, e.g.: `title1.mkv`, `TitLe-random.flac`

4. **`Splash`** : First file with name starting with **splash**, e.g.: `splash151.mkv`, `splash-splish.ogg`


**To Make your Essentials Game PokéShelf Compactible, Developers are Recommended to use `Shelf`**


### Recommended Folder Structure for ROMs:

Since Shelf is already checking for files in ./Graphics/Titles/ and ./Audio/BGM/, We can create those folders and just add files there, (for each of the roms)

Shelf, Title and Spalsh will display the same Image for all the ROMs, therefore GameName is the only one applicable when you have more than one ROM.


**To Make your Fan ROM PokéShelf Compactible, Developers are Recommended to use `GameName`**



## 🤙Contact Me

[![Protonmail](https://img.shields.io/badge/Protonmail-📧%20Email-558?style=for-the-badge&logo=protonmail)](mailto://[email protected]) [![Telegram](https://img.shields.io/badge/Telegram-💬%20Chat-informational?style=for-the-badge&logo=telegram)](https://telegram.me/ra_101)


Made with ❤️ by〈 RA 〉