add XEH DisplayLoad and DisplayUnload events #264

Merged
merged 7 commits into from Feb 20, 2016

Projects

None yet

2 participants

@commy2
Contributor
commy2 commented Feb 17, 2016
  • adds Extended_DisplayLoad_EventHandlers and Extended_DisplayUnload_EventHandlers with a syntax close to the original XEH configs.
  • this is done by replacing BIS_fnc_initDisplay with a custom wrapper function, that includes the original function and adds additional code.
  • BIS_fnc_initDisplay is the only function BI uses with the onLoad and onUnload events. Almost all important displays use it for their ui scripting framework that unfortunately is not usable for modders at all.
  • they can be used in missions or addon configs.

Example:

class Extended_DisplayLoad_EventHandlers {
    class RscDisplayInventory {
        Test = "systemChat str ['load', _this]";
    };
};

class Extended_DisplayUnload_EventHandlers {
    class RscDisplayInventory {
        Test = "systemChat str ['unload', _this]";
    };
};

this prints debug into the chat when opening and closing the inventory.

  • removes the PFH (diagnostic.pbo) that was checking every frame if the debug console was opened. The PFH was also running in MP where the debug console was disabled. It now uses a DisplayLoad event instead.
  • enables the extended debug console in editor (2d and 3d)
  • removes the onMouseEnter hack for help.pbo (help\mm_spc_init.sqf) that was used as pseudo "ControlLoad" event. The hack was based on creating an invisivle control over the whole screen that detects the creation of the cursor. It had some problems when the cursor was generated above another control that is in front of the dummy control or when the cursor was created at the border of the screen. Now uses two DisplayLoad events instead.
@commy2 commy2 added the enhancement label Feb 17, 2016
@commy2 commy2 added this to the 2.3.1 milestone Feb 17, 2016
@Killswitch00 Killswitch00 merged commit ac567ab into master Feb 20, 2016
@Glowbal Glowbal deleted the xehdisplayloadunloadevents branch Apr 25, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment