![]() The frontend code is now going to need adequate refactoring too. JesseTG mostly finished the work on the core, so that's one big thing out of the way. What's new since the last post? I had started working on refactoring the melonDS codebase for the ambitious changes to come. Hopefully it's going to get better with the Christmas holidays. * EmuThread.cpp holds the emulation thread. There are two kinds of ScreenPanel: one that relies on Qt's graphics API, and one that uses OpenGL. * Screen.cpp holds the ScreenPanel code, that is, the panel widget that goes inside the emulator window and handles display and touchscreen input. ![]() We may also add support for multiple windows. * Window.cpp holds the MainWindow code, for managing the emulator window. * main.cpp just holds the entry point (main()) and global application-related stuff. We are far from done with the cleanup, so there's a lot of cruft around, but the basic idea is the following: I started by splitting main.cpp into separate files. Basically, the frontend code became a mess, and everything was more or less just dumped in the global namespace - there are some modules which live in their own namespaces, but it's all not very modular, and doesn't lend itself to running multiple instances of melonDS. Obviously, over time we added various features to the emulator, rebuilt the frontend around different UI toolkits, piled on more features, and so on. We had a simple window, a dedicated thread to run the actual emulation, and that was it. Originally, the frontend was just quickly built around the program entry point in main.cpp, as it just needed to provide a means to use the emulator. The frontend is proving to be tricky, because it was largely built without many regards for code quality. The goal is still the same: to adapt melonDS for supporting multiple instances within one process. If you're running into trouble: Howto/FAQĪs I have received and set up my new laptop, I've been able to work on melonDS some. (WIP) Wifi: local multiplayer, online connectivity.Various display position/sizing/rotation modes. ![]() Nearly complete core (CPU, video, audio. ![]() While it is still a work in progress, it has a pretty solid set of features: MelonDS aims at providing fast and accurate Nintendo DS emulation. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |