1
0
mirror of synced 2024-11-23 23:21:06 +01:00

fix: remove DTX parsing to prevent freezing due to DTX commands in TJA (#678)

Currently, the engine support DTX commands within TJA file,
where chart objects can be placed using DTX commands.

However, TJA charts with DTX commands will only be shown in the song list
when there are any TJA chart definition in the TJA,
which seems to cause weird behaviors when DTX chart definition is also present.

To prevent this issue, the core DTX parsing functionality is now removed.

* CDTX.CDTX():
    * param nReadVersion -> nReadVersionUnused as its all usages are 0
* CDTX.t入力() [tInput]:
    * remove unused overloads
    * param nReadVersion -> nReadVersionUnused
    * simplify codes by assuming nReadVersionUnused to be 0
    * remove now-irrelevant comments
* CDTX.t入力_全入力文字列から() [tInput_FromFullInputText]:
    * param str1 -> str1Unused
    * simplify codes by assuming str1 to be str全入力文字列 [strFullInputText]
    * remove pre-processing steps of str全入力文字列 which have never been applied to TJA parsing
    * remove codes for handling DTX commands
* remove now-unused DTX-parsing methods
    * CDTX.t入力_コマンド文字列を抜き出す() [tInput_ExtractCommandText]
    * CDTX.t入力_コメントをスキップする() [tInput_SkipComment]
    * CDTX.t入力_コメント文字列を抜き出す() [tInput_ExtractCommentText]
    * CDTX.t入力_パラメータ食い込みチェック() [tInput_CheckAndTrimParameter]
    * CDTX.t入力_パラメータ文字列を抜き出す() [tInput_ExtractParameterText]
    * CDTX.t入力_空白と改行をスキップする() [tInput_SkipSpacesAndNewlines]
    * CDTX.t入力_空白をスキップする() [tInput_SkipSpaces]
    * CDTX.t入力_行解析() [tInput_ParseLine]
    * CDTX.t入力_行解析_BPM_BPMzz() [tInput_ParseLine_BPM_BPMzz]
    * CDTX.t入力_行解析_SIZE() [tInput_ParseLine_SIZE]
    * CDTX.t入力_行解析_WAVPAN_PAN() [tInput_ParseLine_WAVPAN_PAN]
    * CDTX.t入力_行解析_チップ配置() [tInput_ParseLine_PlaceChips]
    * CDTX.TryParse() (parse float, with either `.` or `,` as the decimal point)
This commit is contained in:
Wei-Cheng Yeh (IID) 2024-09-25 11:37:10 +08:00 committed by GitHub
parent 558f57aff2
commit 0ff4869cb9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

File diff suppressed because it is too large Load Diff