Callbacks
| 823 | |
| 824 | // Callbacks |
| 825 | void recompui_register_callback(uint8_t* rdram, recomp_context* ctx) { |
| 826 | ContextId ui_context = recompui::get_current_context(); |
| 827 | |
| 828 | if (ui_context == ContextId::null()) { |
| 829 | recompui::message_box("Fatal error in mod - attempted to register callback with no active context"); |
| 830 | assert(false); |
| 831 | ultramodern::error_handling::quick_exit(__FILE__, __LINE__, __FUNCTION__); |
| 832 | } |
| 833 | |
| 834 | Style* resource = arg_style<0>(rdram, ctx); |
| 835 | |
| 836 | if (resource == nullptr || !resource->is_element()) { |
| 837 | recompui::message_box("Fatal error in mod - attempted to register callback on non-element or element not found in context"); |
| 838 | assert(false); |
| 839 | ultramodern::error_handling::quick_exit(__FILE__, __LINE__, __FUNCTION__); |
| 840 | } |
| 841 | |
| 842 | Element* element = static_cast<Element*>(resource); |
| 843 | PTR(void) callback = _arg<1, PTR(void)>(rdram, ctx); |
| 844 | PTR(void) userdata = _arg<2, PTR(void)>(rdram, ctx); |
| 845 | |
| 846 | element->register_callback(ui_context, callback, userdata); |
| 847 | } |
| 848 | |
| 849 | // Navigation |
| 850 | void recompui_set_nav_auto(uint8_t* rdram, recomp_context* ctx) { |
nothing calls this directly
no test coverage detected