Convert Sunny Park to modern routing method.
This commit is contained in:
parent
cbbda0ef7f
commit
06d116007e
@ -1,6 +1,6 @@
|
||||
# vim: set fileencoding=utf-8
|
||||
import copy
|
||||
from typing import Dict, List, Optional
|
||||
from typing import Dict, List
|
||||
|
||||
from bemani.backend.popn.base import PopnMusicBase
|
||||
from bemani.backend.popn.fantasia import PopnMusicFantasia
|
||||
@ -43,7 +43,7 @@ class PopnMusicSunnyPark(PopnMusicBase):
|
||||
# Maximum music ID for this game
|
||||
GAME_MAX_MUSIC_ID = 1350
|
||||
|
||||
def previous_version(self) -> Optional[PopnMusicBase]:
|
||||
def previous_version(self) -> PopnMusicBase:
|
||||
return PopnMusicFantasia(self.data, self.config, self.model)
|
||||
|
||||
def __format_medal_for_score(self, score: Score) -> int:
|
||||
@ -219,7 +219,6 @@ class PopnMusicSunnyPark(PopnMusicBase):
|
||||
netvs.add_child(Node.s8_array('set_recommend', [0, 0, 0]))
|
||||
netvs.add_child(Node.u8('netvs_play_cnt', 0))
|
||||
for dialog in [0, 1, 2, 3, 4, 5]:
|
||||
# TODO: Configure this, maybe?
|
||||
netvs.add_child(Node.string('dialog', f'dialog#{dialog}'))
|
||||
|
||||
sp_data = Node.void('sp_data')
|
||||
@ -416,10 +415,7 @@ class PopnMusicSunnyPark(PopnMusicBase):
|
||||
|
||||
return newprofile
|
||||
|
||||
def handle_game_request(self, request: Node) -> Optional[Node]:
|
||||
method = request.attribute('method')
|
||||
|
||||
if method == 'get':
|
||||
def handle_game_get_request(self, request: Node) -> Node:
|
||||
# TODO: Hook these up to config so we can change this
|
||||
root = Node.void('game')
|
||||
root.add_child(Node.s32('ir_phase', 0))
|
||||
@ -439,27 +435,21 @@ class PopnMusicSunnyPark(PopnMusicBase):
|
||||
root.add_child(Node.s16_array('up_ranking', [-1, -1, -1, -1, -1]))
|
||||
return root
|
||||
|
||||
if method == 'active':
|
||||
def handle_game_active_request(self, request: Node) -> Node:
|
||||
# Update the name of this cab for admin purposes
|
||||
self.update_machine_name(request.child_value('shop_name'))
|
||||
return Node.void('game')
|
||||
|
||||
if method == 'taxphase':
|
||||
def handle_game_taxphase_request(self, request: Node) -> Node:
|
||||
return Node.void('game')
|
||||
|
||||
# Invalid method
|
||||
return None
|
||||
|
||||
def handle_playerdata_request(self, request: Node) -> Optional[Node]:
|
||||
method = request.attribute('method')
|
||||
|
||||
if method == 'expire':
|
||||
def handle_playerdata_expire_request(self, request: Node) -> Node:
|
||||
return Node.void('playerdata')
|
||||
|
||||
elif method == 'logout':
|
||||
def handle_playerdata_logout_request(self, request: Node) -> Node:
|
||||
return Node.void('playerdata')
|
||||
|
||||
elif method == 'get':
|
||||
def handle_playerdata_get_request(self, request: Node) -> Node:
|
||||
modelstring = request.attribute('model')
|
||||
refid = request.child_value('ref_id')
|
||||
root = self.get_profile_by_refid(
|
||||
@ -471,7 +461,7 @@ class PopnMusicSunnyPark(PopnMusicBase):
|
||||
root.set_attribute('status', str(Status.NO_PROFILE))
|
||||
return root
|
||||
|
||||
elif method == 'conversion':
|
||||
def handle_playerdata_conversion_request(self, request: Node) -> Node:
|
||||
refid = request.child_value('ref_id')
|
||||
name = request.child_value('name')
|
||||
chara = request.child_value('chara')
|
||||
@ -481,7 +471,7 @@ class PopnMusicSunnyPark(PopnMusicBase):
|
||||
root.set_attribute('status', str(Status.NO_PROFILE))
|
||||
return root
|
||||
|
||||
elif method == 'new':
|
||||
def handle_playerdata_new_request(self, request: Node) -> Node:
|
||||
refid = request.child_value('ref_id')
|
||||
name = request.child_value('name')
|
||||
root = self.new_profile_by_refid(refid, name)
|
||||
@ -490,7 +480,7 @@ class PopnMusicSunnyPark(PopnMusicBase):
|
||||
root.set_attribute('status', str(Status.NO_PROFILE))
|
||||
return root
|
||||
|
||||
elif method == 'set':
|
||||
def handle_playerdata_set_request(self, request: Node) -> Node:
|
||||
refid = request.attribute('ref_id')
|
||||
|
||||
root = Node.void('playerdata')
|
||||
@ -511,7 +501,7 @@ class PopnMusicSunnyPark(PopnMusicBase):
|
||||
|
||||
return root
|
||||
|
||||
elif method == 'friend':
|
||||
def handle_playerdata_friend_request(self, request: Node) -> Node:
|
||||
refid = request.attribute('ref_id')
|
||||
root = Node.void('playerdata')
|
||||
|
||||
@ -598,9 +588,6 @@ class PopnMusicSunnyPark(PopnMusicBase):
|
||||
|
||||
return root
|
||||
|
||||
# Invalid method
|
||||
return None
|
||||
|
||||
def handle_lobby_request(self, request: Node) -> Optional[Node]:
|
||||
def handle_lobby_request(self, request: Node) -> Node:
|
||||
# Stub out the entire lobby service
|
||||
return Node.void('lobby')
|
||||
|
Loading…
x
Reference in New Issue
Block a user