Skip to content

Commit

Permalink
Merge pull request #204 from zurdi15/develop
Browse files Browse the repository at this point in the history
v1.8
  • Loading branch information
zurdi15 authored Apr 26, 2023
2 parents 520e703 + ea71526 commit 9cf4d04
Show file tree
Hide file tree
Showing 89 changed files with 5,687 additions and 1,361 deletions.
3 changes: 0 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,5 @@ envs.env
# database
mariadb

# data test
library

# config test
romm
17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
# v1.8 (_25-04-2023_)

## Added
- Home screen.
- Config option to associate custom system folders to platforms (Complete scan needed). Check [config.yml](docker/config.example.yml) example. Solves [#152](https://github.com/zurdi15/romm/issues/152).
- Sega Saturn and Master System support added. Check [platforms support](https://github.com/zurdi15/romm#platforms-support). Solves [#194](https://github.com/zurdi15/romm/issues/194).
- Progress bar when games are being downloaded.
## Changed
- Routes to different RomM sections and games changed now allow share direct links to platforms and games.
- RomM now can scan subdirectories in a multi-part game. Solves [#179](https://github.com/zurdi15/romm/issues/179).
- Settings and Scan sections are now in the main drawer menu.
- Some UI changes.
## Fixed
- Code base stability and speed improved.

<br>

# v1.7.1 (_15-04-2023_)

## Added
Expand Down
155 changes: 79 additions & 76 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<div align="center">
<h1 style="padding:20px;"><img src="romm.svg" height="220px" width="auto" alt="RomM Logo"></h1>
<img alt="GitHub" src="https://img.shields.io/github/license/zurdi15/romm">
<img alt="GitHub release (latest SemVer)" src="https://img.shields.io/github/v/release/zurdi15/romm">
<img alt="GitHub Workflow Status (with branch)" src="https://img.shields.io/github/actions/workflow/status/zurdi15/romm/image.yml?branch=master">
<img alt="GitHub" src="https://img.shields.io/github/license/zurdi15/romm?style=flat-square">
<img alt="GitHub release (latest SemVer)" src="https://img.shields.io/github/v/release/zurdi15/romm?style=flat-square">
<img alt="GitHub Workflow Status (with branch)" src="https://img.shields.io/github/actions/workflow/status/zurdi15/romm/image.yml?style=flat-square&branch=master">
<a href="https://hub.docker.com/r/zurdi15/romm">
<img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/zurdi15/romm">
<img alt="Docker Image Size (latest by date)" src="https://img.shields.io/docker/image-size/zurdi15/romm">
<img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/zurdi15/romm?style=flat-square">
<img alt="Docker Image Size (latest by date)" src="https://img.shields.io/docker/image-size/zurdi15/romm?style=flat-square">
</div>
<br>
<div align="center">
Expand Down Expand Up @@ -44,11 +44,11 @@ Available as a docker [image](https://hub.docker.com/r/zurdi15/romm) (amd64/arm6

## 🖥 Desktop

<details><summary>Video preview</summary><p>https://user-images.githubusercontent.com/34356590/227992371-33056130-c067-49c1-ae32-b3ba78db6798.mp4</p></details>
<details><summary>Video preview</summary><span>https://user-images.githubusercontent.com/34356590/227992371-33056130-c067-49c1-ae32-b3ba78db6798.mp4</span></details>

## 📱 Mobile

<details><summary>Video preview</summary><p>https://user-images.githubusercontent.com/34356590/228007442-0a9cbf6b-4b62-4c1a-aad8-48b13e6337e8.mp4</p></details>
<details><summary>Video preview</summary><span>https://user-images.githubusercontent.com/34356590/228007442-0a9cbf6b-4b62-4c1a-aad8-48b13e6337e8.mp4</span></details>

# Installation

Expand Down Expand Up @@ -129,75 +129,78 @@ This will change over the time, adding games metadata for more platforms. Make s
<br>
<details>
<summary>Platforms support list</summary>
<p>

| slug | name | games metadata |
|---------------|-------------------------------------| :----: |
| 3ds | Nintendo 3DS ||
| amiga | Amiga ||
| arcade | Arcade ||
| atari | atari ||
| coleco | coleco ||
| c64 | Commodore C64/128/MAX ||
| cpc | cpc ||
| cps1 | cps1 ||
| cps2 | cps2 ||
| cps3 | cps3 ||
| daphne | daphne ||
| dc | Dreamcast ||
| dos | DOS ||
| fairchild | fairchild ||
| fba2012 | fba2012 ||
| fbneo | fbneo ||
| fds | Family Computer Disk System ||
| gb | Game Boy ||
| gba | Game Boy Advance ||
| gbc | Game Boy Color ||
| gg | gg ||
| gw | gw ||
| intellivision | Intellivision ||
| jaguar | Atari Jaguar ||
| lynx | Atari Lynx ||
| md | md ||
| megaduck | megaduck ||
| ms | ms ||
| msx | MSX ||
| n64 | Nintendo 64 ||
| nds | Nintendo DS ||
| neocd | neocd ||
| neogeo | neogeo ||
| nes | Nintendo Entertainment System ||
| ngc | Nintendo GameCube ||
| ngp | ngp ||
| odyssey | odyssey ||
| pce | pce ||
| pcecd | pcecd ||
| pico | pico ||
| poke | poke ||
| ps | PlayStation ||
| ps2 | PlayStation 2 ||
| ps3 | PlayStation 3 ||
| ps4 | ps4 ||
| psp | PlayStation Portable ||
| psvita | PlayStation Vita ||
| scummvm | scummvm ||
| segacd | Sega CD ||
| segasgone | segasgone ||
| sgb | sgb ||
| sgfx | sgfx ||
| snes | Super Nintendo Entertainment System ||
| supervision | supervision ||
| switch | Nintendo Switch ||
| wii | Wii ||
| win | PC (Microsoft Windows) ||
| wiiu | Wii U ||
| wonderswan | WonderSwan ||
| wonderswan-color| WonderSwan Color ||
| xbox | Xbox ||
| xbox360 | Xbox 360 ||
| xboxone | Xbox One ||

</p>
<span>

| slug | name | games metadata |
|--------------- |-------------------------------------| :----: |
| 3ds | Nintendo 3DS ||
| amiga | Amiga ||
| arcade | Arcade ||
| atari | atari ||
| coleco | coleco ||
| c64 | Commodore C64/128/MAX ||
| cpc | cpc ||
| cps1 | cps1 ||
| cps2 | cps2 ||
| cps3 | cps3 ||
| daphne | daphne ||
| dc | Dreamcast ||
| dos | DOS ||
| fairchild | fairchild ||
| fba2012 | fba2012 ||
| fbneo | fbneo ||
| fds | Family Computer Disk System ||
| gb | Game Boy ||
| gba | Game Boy Advance ||
| gbc | Game Boy Color ||
| genesis-slash-megadrive | Sega Mega Drive/Genesis ||
| gg | gg ||
| gw | gw ||
| intellivision | Intellivision ||
| jaguar | Atari Jaguar ||
| lynx | Atari Lynx ||
| md | md ||
| megaduck | megaduck ||
| ms | ms ||
| msx | MSX ||
| n64 | Nintendo 64 ||
| nds | Nintendo DS ||
| neocd | neocd ||
| neogeo | neogeo ||
| nes | Nintendo Entertainment System ||
| ngc | Nintendo GameCube ||
| ngp | ngp ||
| odyssey | odyssey ||
| pce | pce ||
| pcecd | pcecd ||
| pico | pico ||
| poke | poke ||
| ps | PlayStation ||
| ps2 | PlayStation 2 ||
| ps3 | PlayStation 3 ||
| ps4 | ps4 ||
| psp | PlayStation Portable ||
| psvita | PlayStation Vita ||
| saturn | Sega Saturn ||
| scummvm | scummvm ||
| segacd | Sega CD ||
| segasgone | segasgone ||
| sms | Sega Master System/Mark III ||
| sgb | sgb ||
| sgfx | sgfx ||
| snes | Super Nintendo Entertainment System ||
| supervision | supervision ||
| switch | Nintendo Switch ||
| wii | Wii ||
| win | PC (Microsoft Windows) ||
| wiiu | Wii U ||
| wonderswan | WonderSwan ||
| wonderswan-color | WonderSwan Color ||
| xbox | Xbox ||
| xbox360 | Xbox 360 ||
| xboxone | Xbox One ||

</span>
</details>
<br>

Expand Down
12 changes: 8 additions & 4 deletions backend/src/alembic/env.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
from logging.config import fileConfig

from sqlalchemy import create_engine
from config.config_loader import get_db_engine
from config.config_loader import ConfigLoader
cl = ConfigLoader()

from alembic import context

Expand Down Expand Up @@ -45,8 +46,9 @@ def run_migrations_offline() -> None:
"""

context.configure(
url=get_db_engine(),
url=cl.get_db_engine(),
target_metadata=target_metadata,
render_as_batch=True,
literal_binds=True,
dialect_opts={"paramstyle": "named"},
)
Expand All @@ -63,11 +65,13 @@ def run_migrations_online() -> None:
"""

engine = create_engine(get_db_engine())
engine = create_engine(cl.get_db_engine())

with engine.connect() as connection:
context.configure(
connection=connection, target_metadata=target_metadata
connection=connection,
target_metadata=target_metadata,
render_as_batch=True
)

with context.begin_transaction():
Expand Down
56 changes: 28 additions & 28 deletions backend/src/alembic/versions/1.6.2_.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"""init
"""init to 1.6.2
Revision ID: 1.6.2
Revises:
Expand All @@ -21,35 +21,35 @@ def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
try:
op.create_table('platforms',
sa.Column('igdb_id', sa.String(length=10), nullable=True),
sa.Column('sgdb_id', sa.String(length=10), nullable=True),
sa.Column('slug', sa.String(length=50), nullable=False),
sa.Column('name', sa.String(length=400), nullable=True),
sa.Column('logo_path', sa.String(length=1000), nullable=True),
sa.Column('n_roms', sa.Integer(), nullable=True),
sa.PrimaryKeyConstraint('slug')
sa.Column('igdb_id', sa.String(length=10), nullable=True),
sa.Column('sgdb_id', sa.String(length=10), nullable=True),
sa.Column('slug', sa.String(length=50), nullable=False),
sa.Column('name', sa.String(length=400), nullable=True),
sa.Column('logo_path', sa.String(length=1000), nullable=True),
sa.Column('n_roms', sa.Integer(), nullable=True),
sa.PrimaryKeyConstraint('slug')
)
op.create_table('roms',
sa.Column('r_igdb_id', sa.String(length=10), nullable=True),
sa.Column('p_igdb_id', sa.String(length=10), nullable=True),
sa.Column('r_sgdb_id', sa.String(length=10), nullable=True),
sa.Column('p_sgdb_id', sa.String(length=10), nullable=True),
sa.Column('p_slug', sa.String(length=50), nullable=False),
sa.Column('file_name', sa.String(length=450), nullable=False),
sa.Column('file_name_no_tags', sa.String(length=450), nullable=True),
sa.Column('file_extension', sa.String(length=10), nullable=True),
sa.Column('file_path', sa.String(length=1000), nullable=True),
sa.Column('file_size', sa.Float(), nullable=True),
sa.Column('name', sa.String(length=350), nullable=True),
sa.Column('r_slug', sa.String(length=100), nullable=True),
sa.Column('summary', sa.Text(), nullable=True),
sa.Column('path_cover_s', sa.Text(), nullable=True),
sa.Column('path_cover_l', sa.Text(), nullable=True),
sa.Column('has_cover', sa.Boolean(), nullable=True),
sa.Column('region', sa.String(length=20), nullable=True),
sa.Column('revision', sa.String(length=20), nullable=True),
sa.Column('tags', sa.JSON(), nullable=True),
sa.PrimaryKeyConstraint('p_slug', 'file_name')
sa.Column('r_igdb_id', sa.String(length=10), nullable=True),
sa.Column('p_igdb_id', sa.String(length=10), nullable=True),
sa.Column('r_sgdb_id', sa.String(length=10), nullable=True),
sa.Column('p_sgdb_id', sa.String(length=10), nullable=True),
sa.Column('p_slug', sa.String(length=50), nullable=False),
sa.Column('file_name', sa.String(length=450), nullable=False),
sa.Column('file_name_no_tags', sa.String(length=450), nullable=True),
sa.Column('file_extension', sa.String(length=10), nullable=True),
sa.Column('file_path', sa.String(length=1000), nullable=True),
sa.Column('file_size', sa.Float(), nullable=True),
sa.Column('name', sa.String(length=350), nullable=True),
sa.Column('r_slug', sa.String(length=100), nullable=True),
sa.Column('summary', sa.Text(), nullable=True),
sa.Column('path_cover_s', sa.Text(), nullable=True),
sa.Column('path_cover_l', sa.Text(), nullable=True),
sa.Column('has_cover', sa.Boolean(), nullable=True),
sa.Column('region', sa.String(length=20), nullable=True),
sa.Column('revision', sa.String(length=20), nullable=True),
sa.Column('tags', sa.JSON(), nullable=True),
sa.PrimaryKeyConstraint('p_slug', 'file_name')
)
except OperationalError:
pass
Expand Down
12 changes: 7 additions & 5 deletions backend/src/alembic/versions/1.6.3_.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"""add multifile games
"""update to 1.6.3
Revision ID: 1.6.3
Revises: 1.6.2
Expand All @@ -18,13 +18,15 @@

def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.add_column('roms', sa.Column('multi', sa.Boolean(), nullable=True))
op.add_column('roms', sa.Column('files', sa.JSON(), nullable=True))
with op.batch_alter_table("roms") as batch_op:
batch_op.add_column(sa.Column('multi', sa.Boolean(), nullable=True))
batch_op.add_column(sa.Column('files', sa.JSON(), nullable=True))
# ### end Alembic commands ###


def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.drop_column('roms', 'files')
op.drop_column('roms', 'multi')
with op.batch_alter_table("roms") as batch_op:
batch_op.drop_column('files')
batch_op.drop_column('multi')
# ### end Alembic commands ###
Loading

0 comments on commit 9cf4d04

Please sign in to comment.