COISubApplication
What is a COISubApplication?
COISubApplication is a object loader format used to store data related to the Sub-Application.
Structure
This data only exists if the Internal flag is true
| Size | Type | Name | Description |
|---|---|---|---|
| 4 | Int32 | Frame Handle | The handle of the frame that the sub-application is of |
The remaining data always exists
| Size | Type | Name | Description |
|---|---|---|---|
| 4 | Int32 | Unknown |
Flag Definitions
Flags
| Value | Name | Description |
|---|---|---|
| 0x0000001 | Share Global Values | Share global values & strings with the parent application |
| 0x0000002 | Share Lives | Share lives with the parent application |
| 0x0000004 | Share Scores | Share scores with the parent application |
| 0x0000008 | Share Window Attributes | Share window attributes with the parent application |
| 0x0000010 | Stretch | Stretch frame to object size |
| 0x0000020 | Popup Window | Will display the application in a popup window |
| 0x0000040 | Caption | Displays a caption above the window |
| 0x0000080 | Tool Caption | Displays a thin caption above the window |
| 0x0000100 | Border | Draws a border around the subapplication |
| 0x0000200 | Resizable | Makes the sub application window resizable |
| 0x0000400 | System Menu | Displays the system menu icon and system menu if you click on it |
| 0x0000800 | Disable Close | Prevents the close icon and system menu close option to work |
| 0x0001000 | Modal | Makes the sub application modal. Modal means that all inputs are directed to the sub application, the main application is stopped while the sub application is running |
| 0x0002000 | Dialog Frame | Draw a thick (dialog) frame as a border |
| 0x0004000 | Internal | Source: Frame from this application |
| 0x0008000 | Hidden on Close | If the user chooses to close the sub application window, then it is not closed, but hidden and running in the background |
| 0x0010000 | Customizable size | Makes the sub-application resizable in the frame editor |
| 0x0020000 | Internal About Box | Unknown usage |
| 0x0040000 | Clip Siblings | Check this option if you experience refresh problems when the window of the sub-application intersects with other windows |
| 0x0080000 | Share Player Controls | Share player controls with the parent application |
| 0x0100000 | MDI Child Window | Indicates to open the sub-application as a MDI-Child window |
| 0x0200000 | Docked | This option works for MDI applications but also for normal applications. Indicates that the application should be displayed in a docked window, thus allowing you to create toolbars |
| 0x0400000 | Unknown | |
| 0x0800000 | Docked Top | Docks to the top of the window |
| 0x1000000 | Docked Right | Docks to the right of the window |
| 0x2000000 | Reopen | Unknown usage |
| 0x4000000 | Display as sprite | Displays the Sub-Application as sprite, what this mean, I don't know |
| 0x8000000 | Ignore Resize Display | Ignore parent's 'Resize Display' option |