TeamRizu / OutFox

The Bug Reporting Repository for OutFox LTS 0.4, Alpha V and Steam Early Access Builds
https://projectoutfox.com
Apache License 2.0
182 stars 3 forks source link

[BUG] LuaOptions lists are not properly updated in OptionsList #573

Open SheepyChris opened 2 years ago

SheepyChris commented 2 years ago

Is there an existing issue for this?

Operating System

MX Linux 21.1

CPU

Intel Core i5 8400

GPU

NVIDIA GeForce 1030

Storage

120GB + 480GB SSD

Game Version

4.15.0

Game Mode

pump

Theme

Infinitesimal (latest as of writing)

Describe the problem

There is an issue when attempting to reutilize some of the Lua options features from Soundwaves/fallback in player option menus that pop out such as in Infinitesimal or DDR XX, it happens in specific with SmartJudgments and SmartTimings.

When SmartTimings's choice/value is updated by the player, it should generate new choices/values for SmartJudgments as well, which does work correspondingly in dedicated player option screens. With OptionsList style menus, the value will not update and the module responsible for defining the new SmartJudgments list (Options.SmartJudgeChoices) will return nil due to an error on line 8, resulting in a crash the next time the screen with OptionsList is loaded and the list is attempted to be displayed.

A workaround to avoid the crash would be only utilizing the Options.ReturnCurrentTiming module to obtain the current timing window in SmartJudgeChoices, however this does not remedy the main issue with the list not being updated after changing the mode.

Describe what should happen

After changing the timing mode, the SmartJudgment list should be able to obtain the new timing mode and update its list of different judgment graphics appropriately.

Relevant Log output

Crash with unmodified Alpha 4.15.1 fallback modules after changing timing mode: log.txt info.txt

Scraticus commented 2 years ago

Thanks for the report. We will need to add the support to enable the lua side support for this so it does this much more efficiently.

We'll leave this open until a solution is finished