Skip to content

Newcartmenu#552

Merged
ejaquay merged 14 commits intoVCCE:mainfrom
ejaquay:newcartmenu
Feb 16, 2026
Merged

Newcartmenu#552
ejaquay merged 14 commits intoVCCE:mainfrom
ejaquay:newcartmenu

Conversation

@ejaquay
Copy link
Contributor

@ejaquay ejaquay commented Feb 16, 2026

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.

ejaquay 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.
@ejaquay ejaquay merged commit d420ac2 into VCCE:main Feb 16, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant