174 lines
4.4 KiB
Python
174 lines
4.4 KiB
Python
# vim: set fileencoding=utf-8
|
|
from typing import Optional
|
|
|
|
from bemani.backend.iidx.base import IIDXBase
|
|
from bemani.common import VersionConstants
|
|
|
|
|
|
class IIDX1stStyle(IIDXBase):
|
|
|
|
name = 'Beatmania IIDX 1st style & substream'
|
|
version = VersionConstants.IIDX
|
|
|
|
|
|
class IIDX2ndStyle(IIDXBase):
|
|
|
|
name = 'Beatmania IIDX 2nd style'
|
|
version = VersionConstants.IIDX_2ND_STYLE
|
|
|
|
def previous_version(self) -> Optional[IIDXBase]:
|
|
return IIDX1stStyle(self.data, self.config, self.model)
|
|
|
|
|
|
class IIDX3rdStyle(IIDXBase):
|
|
|
|
name = 'Beatmania IIDX 3rd style'
|
|
version = VersionConstants.IIDX_3RD_STYLE
|
|
|
|
def previous_version(self) -> Optional[IIDXBase]:
|
|
return IIDX2ndStyle(self.data, self.config, self.model)
|
|
|
|
|
|
class IIDX4thStyle(IIDXBase):
|
|
|
|
name = 'Beatmania IIDX 4th style'
|
|
version = VersionConstants.IIDX_4TH_STYLE
|
|
|
|
def previous_version(self) -> Optional[IIDXBase]:
|
|
return IIDX3rdStyle(self.data, self.config, self.model)
|
|
|
|
|
|
class IIDX5thStyle(IIDXBase):
|
|
|
|
name = 'Beatmania IIDX 5th style'
|
|
version = VersionConstants.IIDX_5TH_STYLE
|
|
|
|
def previous_version(self) -> Optional[IIDXBase]:
|
|
return IIDX4thStyle(self.data, self.config, self.model)
|
|
|
|
|
|
class IIDX6thStyle(IIDXBase):
|
|
|
|
name = 'Beatmania IIDX 6th style'
|
|
version = VersionConstants.IIDX_6TH_STYLE
|
|
|
|
def previous_version(self) -> Optional[IIDXBase]:
|
|
return IIDX5thStyle(self.data, self.config, self.model)
|
|
|
|
|
|
class IIDX7thStyle(IIDXBase):
|
|
|
|
name = 'Beatmania IIDX 7th style'
|
|
version = VersionConstants.IIDX_7TH_STYLE
|
|
|
|
def previous_version(self) -> Optional[IIDXBase]:
|
|
return IIDX6thStyle(self.data, self.config, self.model)
|
|
|
|
|
|
class IIDX8thStyle(IIDXBase):
|
|
|
|
name = 'Beatmania IIDX 8th style'
|
|
version = VersionConstants.IIDX_8TH_STYLE
|
|
|
|
def previous_version(self) -> Optional[IIDXBase]:
|
|
return IIDX7thStyle(self.data, self.config, self.model)
|
|
|
|
|
|
class IIDX9thStyle(IIDXBase):
|
|
|
|
name = 'Beatmania IIDX 9th style'
|
|
version = VersionConstants.IIDX_9TH_STYLE
|
|
|
|
def previous_version(self) -> Optional[IIDXBase]:
|
|
return IIDX8thStyle(self.data, self.config, self.model)
|
|
|
|
|
|
class IIDX10thStyle(IIDXBase):
|
|
|
|
name = 'Beatmania IIDX 10th style'
|
|
version = VersionConstants.IIDX_10TH_STYLE
|
|
|
|
def previous_version(self) -> Optional[IIDXBase]:
|
|
return IIDX9thStyle(self.data, self.config, self.model)
|
|
|
|
|
|
class IIDXRed(IIDXBase):
|
|
|
|
name = 'Beatmania IIDX RED'
|
|
version = VersionConstants.IIDX_RED
|
|
|
|
def previous_version(self) -> Optional[IIDXBase]:
|
|
return IIDX10thStyle(self.data, self.config, self.model)
|
|
|
|
|
|
class IIDXHappySky(IIDXBase):
|
|
|
|
name = 'Beatmania IIDX HAPPY SKY'
|
|
version = VersionConstants.IIDX_HAPPY_SKY
|
|
|
|
def previous_version(self) -> Optional[IIDXBase]:
|
|
return IIDXRed(self.data, self.config, self.model)
|
|
|
|
|
|
class IIDXDistorted(IIDXBase):
|
|
|
|
name = 'Beatmania IIDX DistorteD'
|
|
version = VersionConstants.IIDX_DISTORTED
|
|
|
|
def previous_version(self) -> Optional[IIDXBase]:
|
|
return IIDXHappySky(self.data, self.config, self.model)
|
|
|
|
|
|
class IIDXGold(IIDXBase):
|
|
|
|
name = 'Beatmania IIDX GOLD'
|
|
version = VersionConstants.IIDX_GOLD
|
|
|
|
def previous_version(self) -> Optional[IIDXBase]:
|
|
return IIDXDistorted(self.data, self.config, self.model)
|
|
|
|
|
|
class IIDXDJTroopers(IIDXBase):
|
|
|
|
name = 'Beatmania IIDX DJ TROOPERS'
|
|
version = VersionConstants.IIDX_DJ_TROOPERS
|
|
|
|
def previous_version(self) -> Optional[IIDXBase]:
|
|
return IIDXGold(self.data, self.config, self.model)
|
|
|
|
|
|
class IIDXEmpress(IIDXBase):
|
|
|
|
name = 'Beatmania IIDX EMPRESS'
|
|
version = VersionConstants.IIDX_EMPRESS
|
|
|
|
def previous_version(self) -> Optional[IIDXBase]:
|
|
return IIDXDJTroopers(self.data, self.config, self.model)
|
|
|
|
|
|
class IIDXSirius(IIDXBase):
|
|
|
|
name = 'Beatmania IIDX SIRIUS'
|
|
version = VersionConstants.IIDX_SIRIUS
|
|
|
|
def previous_version(self) -> Optional[IIDXBase]:
|
|
return IIDXEmpress(self.data, self.config, self.model)
|
|
|
|
|
|
class IIDXResortAnthem(IIDXBase):
|
|
|
|
name = 'Beatmania IIDX Resort Anthem'
|
|
version = VersionConstants.IIDX_RESORT_ANTHEM
|
|
|
|
def previous_version(self) -> Optional[IIDXBase]:
|
|
return IIDXSirius(self.data, self.config, self.model)
|
|
|
|
|
|
class IIDXLincle(IIDXBase):
|
|
|
|
name = 'Beatmania IIDX Lincle'
|
|
version = VersionConstants.IIDX_LINCLE
|
|
|
|
def previous_version(self) -> Optional[IIDXBase]:
|
|
return IIDXResortAnthem(self.data, self.config, self.model)
|