Merged
Conversation
added 14 commits
February 14, 2026 10:07
New scheme for building the cartridge menu uses an export to fetch DLL menu items. Replaces previous add_menu_item callback. When DLL wishes to change it's menu it sends a notification to the Vcc main window which causes the entire menu to be rebuilt. Notification message and menu rebuilding has been added to vcc.exe Export has been added to mpi.dll for testing Still to do: add export to other DLL's
Also added a method to cartridge_menu to copy item to API menu item struct
Started with the hardest one. Old menu system left in place for parallel testing, these will be be removed after all DLL's are converted
Still leaving old menu system running in parallel
Wandering through the weeds that is GMC overriding cartridges overriding cartridges Simpson style.
New cartridge menu system based on get_menu_item exports and windows messaging is complete. Old and new systems are running in parallel for testing. Next remove old menu system, including the AddMenuItem callbacks from packinterface and DLL's. Remove CartridgeMenu.cpp and any thing that uses it and a bit of code clean up. Finalize API/ABI
removed from all cartridge classes removed from all vcc and dll code removed old CartridgeMenu class
If there are no carts loaded at startup the interface never fires an update menu message to init the menu. This change forces an empty menu at startup so the menu button still functions.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replace add_menu_item callback with a windows message and get_menu_item export. When a cart or pakinterface makes menu changes it sends notification message to Vcc main window message loop to trigger the rebuild and redraw of the cartridge menu.
Also removed remnants of the Vcc reset callback which was previously replaced with a windows message.