You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Disk Chooser, at present, runs in a constant spin loop where it rewinds the file/size lists and redraws the frame, as far as I can tell, at full speed. It is handled within an event handler called from Frame. This is very poor practice, to have a UI event loop within an event handler.
If a physical USB joystick is connected, about half the time selecting a file is extremely sluggish, sometimes requiring killing and restarting of the emulator. Cause has not been determined; only happens when a joystick is connected.
I propose we instead, building on the earlier DiskChoose refactor, further break up DiskChoose::ChooseAnImage() into
Initialize: garner sorted list
Message update
and, when F3/F4/other file choose is hit write to a a global state variable that dictates flow of the main outer message loop.
Loosely, the call cadence for the outer message loop is like this:
main() -> EnterMessageLoop() -> ContinueExecution()
This needs to live under EnterMessageLoop().
Furthermore, there's a homegrown templated data structure called List<>. List<> is defined in inc/list.h, contains comments in Spanish, and behaves like someone's class project. It was someone's valiant stab at a linked list. It has proven to be problematic, eliciting anomalous behavior, frequently double-printing some entries and omitting others, both of which are difficult to reproduce and seen typically in large directories. Now that we have access to C++11 features I suggest we explore replacing List<> with std::list<T, Allocator>.
The text was updated successfully, but these errors were encountered:
The Disk Chooser, at present, runs in a constant spin loop where it rewinds the file/size lists and redraws the frame, as far as I can tell, at full speed. It is handled within an event handler called from Frame. This is very poor practice, to have a UI event loop within an event handler.
If a physical USB joystick is connected, about half the time selecting a file is extremely sluggish, sometimes requiring killing and restarting of the emulator. Cause has not been determined; only happens when a joystick is connected.
I propose we instead, building on the earlier DiskChoose refactor, further break up DiskChoose::ChooseAnImage() into
and, when F3/F4/other file choose is hit write to a a global state variable that dictates flow of the main outer message loop.
Loosely, the call cadence for the outer message loop is like this:
main() -> EnterMessageLoop() -> ContinueExecution()
This needs to live under EnterMessageLoop().
Furthermore, there's a homegrown templated data structure called List<>. List<> is defined in inc/list.h, contains comments in Spanish, and behaves like someone's class project. It was someone's valiant stab at a linked list. It has proven to be problematic, eliciting anomalous behavior, frequently double-printing some entries and omitting others, both of which are difficult to reproduce and seen typically in large directories. Now that we have access to C++11 features I suggest we explore replacing List<> with std::list<T, Allocator>.
The text was updated successfully, but these errors were encountered: