diff --git a/README.md b/README.md index aee2a5b..a30097d 100644 --- a/README.md +++ b/README.md @@ -9,9 +9,9 @@ Run [start.bat (Windows)](start.bat) or [start.sh (Linux, MacOS)](start.sh) [web interface](https://github.com/drmext/BounceTrippy/releases), [score import](utils/db) ## Playable Games -- IIDX 18-20, 28-32 (Online Arena/BPL support) +- IIDX 18-20, 29-33 (Online Arena/BPL support) - DDR A20P, A3 (OmniMIX support w/ DAN & pfree score saving hack) -- GD 6-10 (Battle Mode support) +- GD 6-10 DELTA (Battle Mode support) - DRS - NOST 3 - SDVX 6 2020-2023 diff --git a/modules/gitadora/gameend.py b/modules/gitadora/gameend.py index 9cc967b..ac33a97 100644 --- a/modules/gitadora/gameend.py +++ b/modules/gitadora/gameend.py @@ -25,9 +25,9 @@ async def gitadora_gameend_regist(ver: str, request: Request): game_version = request_info["game_version"] spec = request_info["spec"] - if spec == "A": + if spec in ("A", "C"): g = "guitarfreaks" - elif spec == "B": + elif spec in ("B", "D"): g = "drummania" root = request_info["root"][0] diff --git a/modules/gitadora/gametop.py b/modules/gitadora/gametop.py index 2628040..99d940b 100644 --- a/modules/gitadora/gametop.py +++ b/modules/gitadora/gametop.py @@ -28,9 +28,9 @@ async def gitadora_gametop_get(ver: str, request: Request): game_version = request_info["game_version"] spec = request_info["spec"] - if spec == "A": + if spec in ("A", "C"): g = "guitarfreaks" - elif spec == "B": + elif spec in ("B", "D"): g = "drummania" data = request_info["root"][0].find("player") diff --git a/modules/gitadora/playablemusic.py b/modules/gitadora/playablemusic.py index 456ddab..a423fce 100644 --- a/modules/gitadora/playablemusic.py +++ b/modules/gitadora/playablemusic.py @@ -12,6 +12,12 @@ router.model_whitelist = ["M32"] @router.post("/{gameinfo}/{ver}_playablemusic/get") async def gitadora_playablemusic_get(ver: str, request: Request): request_info = await core_process_request(request) + spec = request_info["spec"] + + if spec in ("A", "B"): + is_delta = False + elif spec in ("C", "D"): + is_delta = True # the game freezes if response has no songs # so make sure there is at least one @@ -56,10 +62,18 @@ async def gitadora_playablemusic_get(ver: str, request: Request): if not short_ver: short_ver = "MISSING_FALLBACK" - for f in ( - path.join("modules", "gitadora", f"mdb_{short_ver}.xml"), - path.join(f"mdb_{short_ver}.xml"), - ): + if is_delta == True: + paths = ( + path.join("modules", "gitadora", f"mdb_{short_ver}_delta.xml"), + path.join(f"mdb_{short_ver}_delta.xml"), + ) + else: + paths = ( + path.join("modules", "gitadora", f"mdb_{short_ver}.xml"), + path.join(f"mdb_{short_ver}.xml"), + ) + + for f in paths: if path.exists(f): with open(f, "r", encoding="utf-8") as fp: