This commit is contained in:
drmext 2026-03-13 13:31:24 +00:00
parent 87ea60fd99
commit a3f559f5a4
No known key found for this signature in database
GPG Key ID: F1ED48FFE79A6961

View File

@ -10,6 +10,9 @@ from fastapi import APIRouter, Request, Response
from core_common import core_process_request, core_prepare_response, E
from core_database import get_db
from os import path
import json
router = APIRouter(prefix="/local2", tags=["local2"])
router.model_whitelist = ["MDX"]
@ -24,6 +27,19 @@ def get_game_profile(cid, game_version):
return profile["version"].get(str(game_version), None)
mdb = {}
ddr_metadata = path.join("webui", "ddr.json")
if path.exists(ddr_metadata):
with open(ddr_metadata, "r", encoding="utf-8") as fp:
mdb = json.load(fp)
music_load = []
for i in sorted(list(mdb.keys()), reverse=True):
info = mdb[i]
for idx, lvl in enumerate(info["diffLv"]):
if int(lvl) != 0:
music_load.append(f"{i},{1 if idx > 4 else 0},{idx % 5},0,{lvl}")
load_settings = {
"common": {
"dancername": "str",
@ -144,12 +160,28 @@ customize_settings = {
"8": {
"0": -1, #song_vid
},
}
}
@router.post("/{gameinfo}/playdata_3/musicdata_load")
async def playdata_3_musicdata_load(request: Request):
request_info = await core_process_request(request)
if mdb:
response = E.response(
E.playdata_3(
E.result(0, __type="s32"),
E.servertime(round(time.time() * 1000), __type="u64"),
*[
E.music(
E.music_str(s, __type="str"),
)
for s in music_load
],
)
)
else:
response = E.response(
E.playdata_3(
E.result(0, __type="s32"),