Skip to content

Commit

Permalink
Add Game Boy Advance
Browse files Browse the repository at this point in the history
- Add Game Boy Advance
- Language parsing can now handle languages formatted like "En+De" (and test updated)
  • Loading branch information
bbtufty committed Dec 4, 2024
1 parent 84070e1 commit f066d53
Show file tree
Hide file tree
Showing 10 changed files with 81 additions and 11 deletions.
13 changes: 13 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
0.1.1 (Unreleased)
==================

Features
--------

- Added Game Boy Advance

Fixes
-----

- Language parsing can now handle languages formatted like "En+De" (and test updated)

0.1.0 (2024-12-04)
==================

Expand Down
9 changes: 6 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,19 @@ To get started, see the [documentation](https://romsearch.readthedocs.io/en/late
Currently, ROMSearch is in early development, and so many features may be added over time. At the moment, ROMSearch
works for the following consoles:

* Nintendo
* Nintendo (Handheld)
* Game Boy
* Game Boy Color
* Game Boy Advance
* Nintendo (Home)
* Nintendo Entertainment System
* Super Nintendo Entertainment System
* GameCube
* Sony
* Sony (Handheld)
* PlayStation Portable
* Sony (Home)
* PlayStation
* PlayStation 2
* PlayStation Portable

but be aware there may be quirks that will only become apparent over time. We encourage users to open
[issues](https://github.com/bbtufty/romsearch/issues) as and where they find them.
24 changes: 22 additions & 2 deletions docs/configs/platforms.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Syntax: ::
ra_id: [id] # OPTIONAL. The RetroAchievements console ID, from their API_GetConsoleIDs
ra_hash_method: ["md5", "custom"] # OPTIONAL. The RetroAchievements hash method. Supports "md5" and "custom"

patch_method: ["xdelta"] # OPTIONAL: Method for patching ROMs. Supports "xdelta", "rompatcher.js"
patch_method: ["xdelta"] # OPTIONAL: Method for patching ROMs. Supports "xdelta"
file_exts: # OPTIONAL: Potential file extensions. ROMPatcher uses this to figure
- [ext] # out the file to patch
patch_file_exts: # OPTIONAL: Potential file extensions. ROMPatcher uses this to figure
Expand All @@ -31,17 +31,37 @@ Nintendo - Game Boy Color

.. literalinclude:: ../../romsearch/configs/platforms/Nintendo - Game Boy Color.yml

Nintendo - Game Boy Advance
=========================

.. literalinclude:: ../../romsearch/configs/platforms/Nintendo - Game Boy Advance.yml

Nintendo - GameCube
===================

.. literalinclude:: ../../romsearch/configs/platforms/Nintendo - GameCube.yml

Nintendo - Nintendo Entertainment System
========================================

.. literalinclude:: ../../romsearch/configs/platforms/Nintendo - Nintendo Entertainment System.yml

Nintendo - Super Nintendo Entertainment System
==============================================

.. literalinclude:: ../../romsearch/configs/platforms/Nintendo - Super Nintendo Entertainment System.yml

Sony - PlayStation Portable
===========================

.. literalinclude:: ../../romsearch/configs/platforms/Sony - PlayStation Portable.yml

Sony - PlayStation
==================

.. literalinclude:: ../../romsearch/configs/platforms/Sony - PlayStation.yml
.. literalinclude:: ../../romsearch/configs/platforms/Sony - PlayStation.yml

Sony - PlayStation 2
====================

.. literalinclude:: ../../romsearch/configs/platforms/Sony - PlayStation 2.yml
13 changes: 10 additions & 3 deletions docs/intro.rst
Original file line number Diff line number Diff line change
Expand Up @@ -38,19 +38,26 @@ everything and then filter from the downloaded files. For more details, see the
Currently, ROMSearch is in early development, and so many features may be added over time. At the moment, ROMSearch
has the capability for:

* Nintendo
* Nintendo (Handheld)

* Game Boy
* Game Boy Color
* Game Boy Advance

* Nintendo (Home)

* GameCube
* Nintendo - Nintendo Entertainment System
* Nintendo - Super Nintendo Entertainment System

* Sony
* Sony (Handheld)

* PlayStation Portable

* Sony (Home)

* PlayStation
* PlayStation 2
* PlayStation Portable

but be aware there may be quirks that will only become apparent over time. We encourage users to open
`issues <https://github.com/bbtufty/romsearch/issues>`_ as and where they find them. Known issues can be found at
Expand Down
1 change: 1 addition & 0 deletions romsearch/configs/clonelists/retool.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ url: "https://raw.githubusercontent.com/unexpectedpanda/retool-clonelists-metada

Nintendo - Game Boy: "Nintendo - Game Boy (No-Intro).json"
Nintendo - Game Boy Color: "Nintendo - Game Boy Color (No-Intro).json"
Nintendo - Game Boy Advance: "Nintendo - Game Boy Advance (No-Intro).json"
Nintendo - GameCube: "Nintendo - GameCube (Redump).json"
Nintendo - Nintendo Entertainment System: "Nintendo - Nintendo Entertainment System (No-Intro).json"
Nintendo - Super Nintendo Entertainment System: "Nintendo - Super Nintendo Entertainment System (No-Intro).json"
Expand Down
3 changes: 3 additions & 0 deletions romsearch/configs/dats/no-intro.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ Nintendo - Game Boy:
Nintendo - Game Boy Color:
file_mapping: "Nintendo - Game Boy Color (*)"

Nintendo - Game Boy Advance:
file_mapping: "Nintendo - Game Boy Advance (*)"

Nintendo - Nintendo Entertainment System:
file_mapping: "Nintendo - Nintendo Entertainment System (Headered) (*)"

Expand Down
1 change: 1 addition & 0 deletions romsearch/configs/defaults.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ datetime_format: "%Y/%m/%d, %H:%M:%S"
platforms:
- "Nintendo - Game Boy"
- "Nintendo - Game Boy Color"
- "Nintendo - Game Boy Advance"
- "Nintendo - GameCube"
- "Nintendo - Nintendo Entertainment System"
- "Nintendo - Super Nintendo Entertainment System"
Expand Down
6 changes: 6 additions & 0 deletions romsearch/configs/platforms/Nintendo - Game Boy Advance.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
group: "No-Intro"
dir: "/No-Intro/Nintendo - Game Boy Advance/"
unzip: false

ra_id: 5
ra_hash_method: "md5"
18 changes: 17 additions & 1 deletion romsearch/configs/regex.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ regions:
flags: "NOFLAG"

languages:
pattern: "\\((([languages])(,\\s?)?)*\\)"
pattern: "\\((([languages])((,|\\+)\\s?)?)*\\)"
type: "list"
flags: "NOFLAG"

Expand Down Expand Up @@ -191,6 +191,10 @@ controller_set:
culture_publishers:
pattern: "\\(Culture Publishers\\)"

dsi:
pattern: "\\(DSI\\)"
group: "improved_version"

dx_pack:
pattern: "\\(DX Pack\\)"
group: "improved_version"
Expand Down Expand Up @@ -319,6 +323,10 @@ usb_mic_doukonban:
pattern: "\\(USB Mic Doukonban\\)"
group: "improved_version"

vivendi:
pattern: "\\(Vivendi\\)"
group: "improved_version"

# BUDGET EDITIONS

artdink:
Expand Down Expand Up @@ -502,6 +510,10 @@ konami_collector_series:
pattern: "\\(Konami Collector's Series\\)"
group: "modern_version"

mega_man_battle_network_legacy_collection:
pattern: "\\(Mega Man Battle Network Legacy Collection\\)"
group: "modern_version"

mega_man_legacy_collection:
pattern: "\\(Mega Man Legacy Collection\\)"
group: "modern_version"
Expand Down Expand Up @@ -530,6 +542,10 @@ ninja_jajamaru_retro:
pattern: "\\(Ninja JaJaMaru Retro Collection\\)"
group: "modern_version"

pokemon_box:
pattern: "\\(Pokemon Box\\)"
group: "modern_version"

qubyte_classic:
pattern: "\\(QUByte Classics\\)"
group: "modern_version"
Expand Down
4 changes: 2 additions & 2 deletions tests/tests_romparser.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from romsearch import ROMParser

TEST_NAME = "Example Game (USA) (En,De,Fr)"
TEST_NAME = "Example Game (USA) (En,De,Fr,Es+It)"


def test_romparser_regions():
Expand All @@ -23,7 +23,7 @@ def test_romparser_regions():
def test_romparser_languages():
"""Put a filename into ROMParser and check it returns the right languages"""

expected_languages = ["English", "French", "German"]
expected_languages = ["English", "French", "German", "Italian", "Spanish"]

test_case = {TEST_NAME: {"priority": 1}}

Expand Down

0 comments on commit f066d53

Please sign in to comment.