This module provides a generic way to hook into various BlitzMax commands, and to add support for hooks into your own code. The following hook ids are currently used by BlitzMax modules: | Hook id | Description | Data | | --- | --- | --- | | FlipHook | A Max2D #Flip is about to occur | Null | | EmitEventHook | An event has been emitted by a call to #EmitEvent | A #TEvent object | To hook into any of these functions, use #AddHook with the specified hook id and your hook function. To provide hook support for your own code, use #AllocHookId to generate a valid integer hook id somewhere in your program's startup code. Then, when the section of code you would like to be 'hookable' is about to execute, simply call #RunHooks with the previously generated hook id and your own custom 'data' object.