WohlSoft / LunaLua

LunaLua - LunaDLL with Lua, is a free extension mod for SMBX 1.3 game engine, core of the X2 project.
https://codehaus.moe/
GNU General Public License v3.0
33 stars 12 forks source link

Window focus events, WM_KILLFOCUS input fixes, and the addition of "Misc.runWhenUnfocused(bool)" #71

Open SolaceEllery opened 9 months ago

SolaceEllery commented 9 months ago

This is once again, another pull request by me.

In this PR, I fixed and added a few things related to the window process of the engine.

Here is what's in this PR:

New LunaLua Events

Adds the following LunaLua events: "onFocusWindow", and "onUnfocusWindow"

Input fix when the main process priority is not SMBX2

When the window is unfocused, and runWhenUnfocused is on, inputs still work when the main process priority is not SMBX2. WM_KILLFOCUS, which handles putting the game into the background when clicking off the game, now has a toggle for disabling inputs, and is disabled until the window is the main process priority again

New Functions

Conclusion

These events, along with the fix and function, will be useful for many things: